MySQL数据迁移
# 统计表数据量
SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = 'oms' AND table_name like 'tbl_jzt%' order by table_rows desc;
1
# mysqldump
-u
用户名-p
密码--all-databases
导出所有数据库--databases
导出指定数据库--tables
导出指定表-d
只导出表结构-t
只导出表数据--no-data
只导出表结构--skip-lock-tables
不锁定表--single-transaction
在导出过程中使用单个事务。这对于 InnoDB 表非常有用,因为它可以确保导出数据的一致性。--set-gtid-purged=OFF
在导出文件中不包含 GTID (Global Transaction Identifier) 相关信息。这在某些情况下(例如在 GTID 模式下的复制环境中)可能是必要的。
#导出命令
#导出包括系统数据库在内的所有数据库(all.sql默认保存在bin文件夹下面)
mysqldump -u username -p --all-databases > filename.sql
#导出指定数据库表结构和数据
mysqldump -u username -p dbname [tbname...] > filename.sql
#导出多个数据库:
mysqldump -u username -p --databases db1 db2 ...> filename.sql
#导出多张表:
mysqldump -u username -p --databases db1 --tables t1 t2> filename.sql
#只导出表结构不导表数据,添加“-d”命令参数
mysqldump -u username -p -d dbname [tbname...] > filename.sql
#只导出表数据不导表结构,添加“-t”命令参数
mysqldump -u username -p -t dbname [tbname...] > d:/user.sql
#只导出db1数据库的表结构
导出:mysqldump -u root -p --no-data --databases db1 > backup.sql
导入:mysql -u root -p db1 < backup.sql
#系统行导入命令
mysql -u username -p dbname < d:XX.sql(路径)
mysql -u root -p db_name < d:/backup.sql
#source导入
mysql> use db_name;
mysql> source /backup/mysqldump/backup.sql(路径)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
编辑 (opens new window)
上次更新: 2025/01/08, 15:27:56