- MySQL整库迁移(针对数据库数据大,执行sql语句慢的情况):
- 确认两台服务器上的mysql版本一致(mysql -V);
- 查看原数据库配置文件datadir路径(vim /etc/my.cnf);
- 进入到mysql-5.6目录下,对整个数据目录进行压缩包处理;tar -zcvf databak.tar.gz data
- 查看新数据的datadir路径(vim /etc/my.cnf);
- 将压缩包拷贝传输到新安装的mysql服务器上,可以直接通过scp目录进行数据传输;
- 把新安装mysql的数据文件备份或者直接删除(rm -rf 文件夹);
- 将拷贝的文件解压到datadir路径下,启动mysql服务;
- 查看mysql.log日志文件(/var/log/mysql.log 默认日志路径);
- 确认mysql服务启动正常,没有错误信息,如果有如下错误需要停止服务配置处理;报出 “无法启动MySQL服务”异常,查看错误日志,发现问题描述如下:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 63963136 bytes
InnoDB: than specified in the .cnf file 0 6291456 bytes!
这段信息的意思是日志文件比my.cnf中设置的日志文件配额要大,服务不能启动。原因是日志文件从服务器A复制而来,在服务器A上的my.cnf中日志配额要比服务器B上的my.cnf日志配额大,
计算日志文件大小:63963136/(1024*1024)=61M,6291456/(1024*1024)=6M,怪不得呢?
将服务器B上的my.cnf中的innodb_log_file_size的参数设置为61M,再次启动mysql,启动成功。
- 使用mysqldump命令进行数据库备份;
- mysqldump -uroot -p123456 --databases test > test.sql # 将输出写入test.sql文件
- 恢复sql文件;
mysql -u root -p 密码 #登录mysql
use db_test; #要恢复的数据库;
source /home/db/backup/test.sql ;文件恢复;
- 使用客户端工具进行数据备份恢复(Navicat Premium);
- 选择需要备份的数据库,右键选择转存sql文件
- 选择需要运行sql的数据库,执行sql文件恢复数据;
选择需要执行的sql文件开始执行;
单表可以通过导出或者复制为制表分隔符文件进行导入;