新聞中心
Mysql單表備份有很多方式,對于數(shù)據(jù)量比較大的表,可以使用mysqldump

創(chuàng)新互聯(lián)公司成立于2013年,先為青神等服務(wù)建站,青神等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為青神企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
小表通常使用如下語句就行了。
create table A as select * from B
在一次備份中出現(xiàn)如下錯(cuò)誤。
mysql> create tables deptmember_bak as select * from deptmember;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tables deptmember_bak as select * from deptmember' at line 1
查詢官方資料,原因是MySQL 5.6.7及更高的版本,開啟了enforce_gtid_consistency=true 功能導(dǎo)致的,MySQL官方解釋說當(dāng)啟用 enforce_gtid_consistency 功能的時(shí)候,MySQL只允許能夠保障事務(wù)安全,并且能夠被日志記錄的SQL語句被執(zhí)行,像create table … select 和 create temporarytable語句,以及同時(shí)更新事務(wù)表和非事務(wù)表的SQL語句或事務(wù)都不允許執(zhí)行,所以默認(rèn)關(guān)閉掉,需要開啟時(shí)再啟用
查看環(huán)境enforce_gtid_consistency參數(shù)為開啟狀態(tài)。
mysql> show variables like 'ENFORCE_GTID_CONSISTENCY';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| enforce_gtid_consistency | ON |
+--------------------------+-------+
1 row in set (0.01 sec)
下面提供了2種方案,可以根據(jù)情況自由選擇
一、方法一:修改數(shù)據(jù)庫參數(shù)
解決辦法關(guān)閉GTID模式
mysql配置my.cnf里面修改參數(shù)如下
gtid_mode = OFF
enforce_gtid_consistency = OFF
重啟mysql再次查看已經(jīng)生效,再次執(zhí)行備份就不會(huì)報(bào)錯(cuò)了
mysql> show variables like '%gtid_mode%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| gtid_mode | OFF |
+---------------+-------+
1 row in set (0.01 sec)
mysql> show variables like '%enforce_gtid_consistency%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| enforce_gtid_consistency | OFF |
+--------------------------+-------+
1 row in set (0.01 sec)
二、方法二:分步操作
方法二采用先復(fù)制目標(biāo)表結(jié)構(gòu),然后插入數(shù)據(jù)的方式,這種方法的好處是不用重啟數(shù)據(jù)庫
mysql> create table deptmember_bak like deptmember;
Query OK, 0 rows affected (0.11 sec)
mysql> insert into deptmember_bak select * from deptmember;
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0
分享文章:MySQL備份表報(bào)錯(cuò)ERROR1786
當(dāng)前鏈接:http://m.fisionsoft.com.cn/article/dhpshdc.html


咨詢
建站咨詢
