目的是备份docker中mysql所有库的数据
在windows主机配置了mysql环境变量的情况下,备份服务器上mysql的数据。
在命令行下输入以下命令
mysqldump -uroot -pXXXXX -h101.21.210.13 -P3306 --all-databases > d:\cs\test.sql
上述命令报错信息
- Got error: 2026 : SSL connection error: unknown error number when trying to connect
简答的解决办法:使用–ssl-mode参数,关闭SSL服务。
mysqldump -uroot -pXXXXX -h101.21.210.13 -P3306 --ssl-mode=DISABLE --all-databases > d:\cs\test.sql
DISABLED 与参数skip-ssl一样,不使用SSL/TLS建立加密连接
PREFERRED 优先尝试使用SSL/TLS建立加密连接,如果无法建立则尝试建立非SSL/TLS连接
REQUIRED 只会尝试使用SSL/TLS建立加密连接
VERIFY_CA 与REQUIRED行为一样,与此同时会验证server端的证书是否有效
VERIFY_IDENTITY 与VERIFY_CA行为一样,与此同时验证server端证书的host是否与实际连接的hostname一致
mysqldump命令小结
参数
- 备份所有数据库
mysqldump -uroot -p --all-databases > test.sql
- 备份指定数据库,包括建库语句、表结构、数据
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --databases test1 > test.sql
- 备份指定数据库,只导出数据
mysqldump -uroot -p --no-create-info --databases mydatabase1 > mall_pms.sql
- 备份指定数据库,只导出数据库表结构,不包含数据
mysqldump -uroot -p --no-data --databases mydatabase1 mydatabase2 > mall_pms.sql
- 备份指定数据库指定表(多个表以空格间隔)
mysqldump -uroot -p mydatabase --tables mytable1 mytable2> test.sql
mysqldump -uroot -p mydatabase [--tables] mytable1 mytable2> test.sql
恢复导出的数据
- 系统命令行
mysql -uroot -p mydatabase < test.sql #mydatabase 必须已经存在
- mysql客户端
source /a/b/test.sql #test.sql中要有建库语句