应用背景简介:
‘123.57.111.222’为生产环境mysql所在IP。
为了方便调试,现搭建了一个调试服务器。 此脚本运行于调试服务器,拥有备份生产环境中mysql的数据,并将数据同步到调试服务器,保持数据一致。
#!/usr/bin/env bash
sourceHost='123.57.111.222'
sourceUser='user'
sourcePasswd='123'
backupPwd='/home/wangsai/backup/'
memory_pwd="${backupPwd}`date +\%Y\%m\%d`_memory.sql"
# 备份的数据库名为memory
mysqldump -h$sourceHost -u${sourceUser} -p${sourcePasswd} memory > $memory_pwd
mysql -uroot memory < $memory_pwd
- 批量导入sql语句文件时,可能会因为文件过大或sql语句太长导致
MySQL server has gone away
的报错。
解决办法:在mysql配置文件中设置 max_allowed_packet = 10M (可以根据实际情况设置大小)
max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。