mysql数据库备份与还原,解决40101和ERROR 2049错误
- 分类:博文-IT资讯
- 发布于 2016年4月18日 星期一 10:18
- 作者:Super User
- 点击数:6757
此方法可解决:
*!40101 SET NAMES utf8mb4 */ 错误信息:Unknown character set: 'utf8mb4'
和
报错ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
一、环境
源数据库:ubuntu16.04 LTS + mysql 5.6
目的数据库:Centos 6.5 + mysql 5.1
二、备份
语法:sudo mysqldump -h源数据库主机名 -u源数据库用户名 -p --default-character-set=utf8 数据库名 > 备份数据库名.sql
说明:参数--default-character-set=utf8是指数据库默认字符集是utf8,这是因为空间商数据库默认都是这个字符集
例:sudo mysqldump -hlocalhost -uroot -p --default-character-set=utf8 keread.com > /data/keread.sql
三、还原
语法:sudo mysql -h目的数据库主机名 -u目的数据库用户名 --default-character-set=utf8 --secure-auth=false -p 目的数据库名 < 备份数据库名.sql
说明:参数--secure-auth=false是解决“Linux主机mysql连接报错ERROR 2049 (HY000)”,由于服务器端的密码管理协议陈旧,使用的是旧有的用户密码格式存储;但是客户端升级之后采用了新的密码格式 。mysql5.6版本遇到这种不一致的情况就会拒绝连接
例:sudo mysql -hkeread.com -uqdm117974902 --default-character-set=utf8 --secure-auth=false -p qdm117974902_db < /data/keread.sql