我正在尝试恢复我的从属集群。我已按照此处的指南进行操作: Mysql复制时Master和Slave数据库不同,如何重新同步Mysql DB?
已使用以下命令从主服务器获取转储:
mysqldump --all-databases --single-transaction --add-drop-table --master-data=2 --flush-logs > /mnt/sqlbackup/mysqldump.sql
我已经重置了从站。在导入dump的状态下,我遇到了以下错误:
ERROR 1180 (HY000) at line XXXXX1268: Got error 1 "Operation not permitted" during COMMIT
转储很大,我使用 awk 命令来查找转储的该行中的确切内容。我发现以下说明:
--
-- Dumping data for table `d_xxxx_yyy`
--
LOCK TABLES `d_xxxx_yyy` WRITE;
/*!40xxx ALTER TABLE `d_xxxx_yyy` DISABLE KEYS */;
INSERT INTO `d_xxxx_yyy` VALUES
错误消息中的确切行 XXXXX1268 是
INSERT INTO `d_xxxx_yyy` VALUES
我的服务器上mysql的版本是:
Server version: 10.7.3-MariaDB-1:10.7.3+maria~focal-log mariadb.org binary distribution
如何导入转储来恢复从站?
私も同じ问题が起こりました。mysqldumpで生成されたSQLのうち、INSERT文のカラム顺序がバラバラでした。 カラムを指定してINSERTする
mysqldump -c
オプションを付けることで躲避できました。