前提:
最近测试环境shop表经常出现表损坏不能正常查询,通过mysql的修复方法,暂时有效。故做该表的迁移操作。
思路是:
停止数据库的操作
1、备份老表。 2、创建一个结构一样的表。 3、将老表数据导入到新表。 4、老表和新表名称互换。
1、备份老表
备份单表 mysqldump -u root -p 数据库名 表名 > 你要保存的sql文件(加位置) 备份多表 mysqldump -u root -p 数据库名 表1 表2 表3 > 你要保存的sql文件(加位置) 命令:例如 mysqldump -u root -p test shop > /tmp/shop_201807.sql 然后会提示输入mysql的密码的,输入回车即可
2、创建新表
查看导出的sql,最前面有创建表sql。
修改表名称为 shop_201807
3、将老表数据导入到新表
INSERT INTO shop_201807 SELECT * FROM shop
4、老表和新表名称互换
RENAME TABLE tbl_name TO new_tbl_name 命令 rename table shop to shop_201807_bak rename table shop_201807 to shop