背景:
因为metersphere升级的需要,需要对metersphere数据的进行备份
步骤:
- 数据库数据导出:
docker exec -i mysql mysqldump -uroot -pPassword123@mysql metersphere > backupfile.sql
- 数据库数据恢复:
mysql -u root -p metersphere < backupfile.sql
注:MeterSphere 从 2.0 开始默认使用MySQL V8。
MySQL V5.7 的默认字符集排序是utf8mb4_unicode_ci,
MySQL V8默认的字符集排序是 utf8mb4_0900_ai_ci 。
导入数据库出现的异常处理:
mysql导入时出现" Unknown command '\''."的解决办法
方法一:
sql
mysql -u root -p --default-character-set=utf8
use dbname
source /root/newsdata.sql
方法二:
sql
mysql -u root -p metersphere --default-character-set=utf8 < backupfile.sql
导入sql文件报错:MySQL server has gone away 以及解决方法
原因:
max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。该项的作用是限制mysql服务端接收到的包的大小,之前备份的数据有2.6G,超过该项设置的值从而导致导入不成功。
- 查看目前配置
show VARIABLES like '%max_allowed_packet%';
- 修改默认值
set global max_allowed_packet = 210241024*10
- 重启mysql服务后查看配置
show VARIABLES like '%max_allowed_packet%';