MySQL 5.6 GTID常見錯誤解決一例
今天在測試環境搭建完基於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
[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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2138880/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 常見錯誤MySql
- MySQL資料庫常見錯誤及解決方案MySql資料庫
- MySQL常見錯誤分析與解決方法總結MySql
- mysql replication常見錯誤MySql
- MySQL 安裝常見錯誤MySql
- mysql8 常見錯誤MySql
- MySQL Replication常見錯誤整理MySql
- Hadoop常見錯誤及解決方案Hadoop
- 開發常見錯誤及解決方案
- 解決mysql使用GTID主從複製錯誤問題MySql
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- Mysql:1236常見錯誤MySql
- MySql 常見錯誤程式碼大全MySql
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- 爬蟲常見錯誤程式碼及解決措施爬蟲
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- Oracle 常見的錯誤問題及解決方法Oracle
- 常見的80004005錯誤及其解決方法 (轉)
- CentOS 5.6 升級 10.2.0.5 錯誤解決CentOS
- MySQL 5.6 GTID 原理以及使用MySql
- 中科三方——SSL常見錯誤及解決方法
- 海外常見的http錯誤程式碼原因與解決HTTP
- SSL證書7大常見錯誤及解決方法!
- ORACLE常見錯誤程式碼的分析與解決(轉)Oracle
- MySQL常見的8種SQL錯誤用法MySql
- oracle 常見錯誤Oracle
- C/C++常見錯誤詳解C++
- SSL證書七大常見錯誤及解決方法
- MySQL 那些常見的錯誤設計規範MySql
- Go 常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- Go常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- MySQL GTID複製錯誤修復演示MySql
- ORA-03113錯誤解決一例
- RMAN-06133 錯誤解決一例
- 常見的web錯誤Web
- 派克斯常見錯誤程式碼詳解
- mysql與php錯誤解決MySqlPHP
- mysql錯誤解決總結MySql