数据迁移
环境:
将生产mysql8中的A,B库导出,并导入到新建mysql8中。
操作:
1.查看数据库的数据量,预估导出导入时间
--统计每个库的大小 SELECT table_schema,SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb FROM information_schema.TABLES group by table_schema; +--------------------+----------------+ | TABLE_SCHEMA | total_mb | +--------------------+----------------+ | information_schema | 0.00000000 | | A | 91.74816608 | | B | 49439.33041954 | | mysql | 4.80094719 | | performance_schema | 0.00000000 | | sys | 0.01562119 | | universe | 0.00000000 | +--------------------+----------------+ 7 rows in set (0.06 sec)
2.导出
压缩导出 mysqldump -uroot -p'XXXX!mysql0okm9ijn' -B A | gzip > /XXXXlife/A1.sql.gz 未压缩导出 mysqldump -uroot -p'XXXX!mysql0okm9ijn' -B A > /XXXXlife/A2.sql
3.导入
压缩导入 gunzip < /XXXXlife/A1.sql.gz | mysql -uroot -p'XXXXlife' 未压缩导入 mysql -uroot -p'XXXX!mysql0okm9ijn' /XXXXlife/A2.sql
总结
1.在导出过程中会锁表,所以需要show processlist观察进程状态。
2.导入目标端时,会自动创建db,无需手动创建。
3.压缩比例很可观,可以选择使用;使用压缩会比不压缩耗时长一点。
4.在导入时,发现目标端软件所在磁盘空间不足,于是需要将数据文件移动到一个新磁盘上。
mysql的数据文件移动:
1).关库;
2).修改配置文件中数据文件的路径,将数据文件拷贝至目标磁盘;
cp -a :保留权限,复制软链接本身,递归复制。
3)起库;即可。
参考:
https://www.modb.pro/doc/5061
mysqldump --help
Nothing is trivial at all;

浙公网安备 33010602011771号