前言:
自建服务器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