Mysql备份阿里云数据库时报错MySQL server has gone away
Mysql备份数据库时报错MySQL server has gone away
本文编写时间:2024-04-30
现象
1、备份阿里云数据库时正确,还原时报错,有乱码,有数据太长,有服务器离开
解决方案。
1、备份和还原的指令
备份时
mysqldump -uname -ppass -hhost --opt --default-character-set=utf8mb4 --hex-blob mydadabasename --skip-triggers --skip-lock-tables > /home/mydatabasename.sql
还原时:
mysql -uroot -p1234 -h新主机 -P 3306 dbname < /home/mydatabasename.sql
2、确保还原上去的数据库环境与原环境相同。主要是sql_mode
用select 查询原来的服务器,用set设置新的服务器or改新服务器的my.cnf 配置。
模式字符串是一个逗号分隔的字符串,也可以空
select @@sql_mode;
set @@sql_mode='模式字符串';
如改mysql配置,则类似如下
[mysqld]
sql_mode = 模式字符串
3、新服务器的配置加如下代码
[mysqld]
wait_timeout=28800
interactive_timeout=28800
max_allowed_packet = 10M
总结
总算搞定了。
本作品采用《CC 协议》,转载必须注明作者和本文链接