前言:

自建服务器MySQL环境备份线上数据,线上数据库使用的支付宝小程序云托管服务器进行部署的OceanBase-MySQL,使用第三方连接客户端Navicat不能线上直接同步库表结构和数据(异常:目标MySQL服务器无OceanBase引擎),只好选择在目标MySQL客户端命令行执行mysqldump工具命令进行备份

1.远程连接自建服务器mysql客户端进入容器内部(测试环境直接docker部署) 执行  

mysqldump -h地址  -P端口 -u用户名 -p --skip-triggers --hex-blob -t  数据库名  --skip-extended-insert --compact --default-character-set=utf8mb4 >sql文件名.sql      ps:示例命令只导数据无库表结构

示例:

 mysqldump -h123.3.4.25  -P3306 -uroot -p --skip-triggers --hex-blob -t  test  --skip-extended-insert --compact --default-character-set=utf8mb4 >test.sql

      2.会提示输入密码,cv即可

3.然后会在执行命令目录下(一般为容器根目录下)生成 test.sql 文件

4.使用ls -l 即可查看到新增的test.sql文件

5.如需将容器内文件导出到宿主机 使用命令 docker cp<container_id>:/path/to/file /path/on/host

示例:

docker cp 容器id :/test.sql  /sof/mysql/backup