共计 2329 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章给大家分享的是有关 MySQL 5.6 GTID 常见错误的示例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
在测试环境搭建完基于 GTID 的双主环境后,启动数据库报错:
[root@localhost ~]# service mysqld start
Starting MySQL………The server quit without updating PID[FAILED]usr/local/mysql/data/localhost.pid).
查看错误日志 /var/log/mysqld.log,发现有如下信息:
2017-05-11 09:08:38 56355 [Note] Audit Plugin: Init completed successfully.
2017-05-11 09:08:38 56355 [ERROR] –gtid-mode=ON or UPGRADE_STEP_1 or UPGRADE_STEP_2 requires –log-bin and –log-slave-updates
2017-05-11 09:08:38 56355 [ERROR] Aborting
说明如下:
gtid_mode=ON,log_slave_updates,enforce_gtid_consistency 这三个参数一定要同时在 my.cnf 中配置。否则在 mysql.err 中会出现如下的报错
2015-02-26 17:11:08 32147 [ERROR] –gtid-mode=ON or UPGRADE_STEP_1 or UPGRADE_STEP_2 requires –log-bin and –log-slave-updates
2015-02-26 17:13:53 32570 [ERROR] –gtid-mode=ON or UPGRADE_STEP_1 requires –enforce-gtid-consistency
修改 /etc/my.cnf,加入以下内容:
gtid-mode = on
log-slave-updates=ON
enforce-gtid-consistency=ON
再次启动数据库后,再无报错:
[root@localhost ~]# service mysqld start
Starting MySQL….. [ OK ]
[root@localhost ~]# mysql -u mdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.27-log Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type help; or \h for help. Type \c to clear the current input statement.
查看 gtid 模式:
mysql show global variables like %gtid%
+———————————+——-+
| Variable_name | Value |
+———————————+——-+
| binlog_gtid_simple_recovery | OFF |
| enforce_gtid_consistency | ON |
| gtid_executed | |
| gtid_mode | ON |
| gtid_owned | |
| gtid_purged | |
| simplified_binlog_gtid_recovery | OFF |
+———————————+——-+
7 rows in set (0.00 sec)
GTID 相关参数
参数 comment
gtid_executed 执行过的所有 GTID
gtid_purged 丢弃掉的 GTID
gtid_mode gtid 模式
gtid_next session 级别的变量,下一个 gtid
gtid_owned 正在运行的 gtid
enforce_gtid_consistency 保证 GTID 安全的参数
GTID 复制的限制:
GTID 模式实例和非 GTID 模式实例是不能进行复制的,要求非常严格,要么都是 GTID,要么都不是
gtid_mode 是只读的,要改变状态必须 1) 关闭实例、2)修改配置文件、3) 重启实例
在同一事务中更新事务表与非事务表将导致多个 GTIDs 分配给同一事务
无法使用 CREATE TABLE … SELECT statements 语句
无法在事务中对非事务存储引擎进行更新
无法在事务中使用 CREATE TEMPORARY TABLE
感谢各位的阅读!关于“MySQL 5.6 GTID 常见错误的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!