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
上次更新: 2025/01/08, 15:27:56
最近更新
01
docker-compose笔记
01-12
02
Docker部署服务,避免PID=1
11-27
03
Skywalking笔记
11-21
更多文章>