有时候我们在转移 mysql
数据库时会遇到有些表实在是太大,比如一些日志表。
要备份和导入这些表都需要很长时间,并且再次导入时可能还会遇到问题。
但是,其他的表我们是需要其表结构和表数据的,那么怎么处理呢?
查看数据库表中所有表的行数
1 | select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = 'database' order by table_rows desc; |
比如查看 mysql 库中所有表的行数:
也可以查看所有库中表的行数:
1 | select table_name,table_rows from information_schema.tables order by table_rows desc; |
导出
导出数据库 database 中所有表到 database.sql 文件中
1 | mysqldump -uroot -p123456 -d database > database.sql |
导出除了 table1 和 table2 其余所有表中的数据,到 database.sql 文件中
1 | mysqldump -uroot -p123456 -d database --ignore-table=database.table1 --ignore-table=database.table2 >> database.sql |
只导出指定表中的数据
1 | mysqldump -uroot -p123456 -t database table1 table2 > database.sql |
导入
1 | mysql -uroot -p123456 database2 < database.sql |