mysql 如何复制/备份表数据

今天遇到一个需求,为防止原数据被损坏,我准备先备份一份表数据出来,方便回滚.
复制表的命令不常用,也没记住就百度了一下.只想说句各种不看谱.当然看文档是最好的.
其实主要就是 2 步就可以解决问题.
2 步是最靠谱的.因为有的时候 mysql 有很多权限不允许你一些非常规操作,比如如下这条 sql 在很多时候是没有执行权限的.
CREATE TABLE new_table_name SELECT [field1,field2... | *] FROM old_table_name
运维一般会禁止这样的操作,会报如下错误一般:

CREATE TABLE ... SELECT is forbidden when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1.

推荐使用如下方法去执行备份表数据的操作.

CREATE  TABLE IF NOT EXISTS new_table_bak (LIKE old_table);

INSERT INTO new_table_bak SELECT * FROM old_table;

参考
https://stackoverflow.com/questions/2949653/select-into-and-undeclared-variable-error

发布了145 篇原创文章 · 获赞 24 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/xiaobinqt/article/details/93667908