数据迁移

环境:
将生产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

 

posted @ 2021-06-08 19:25  AnneZhou  阅读(160)  评论(0)    收藏  举报