1. 程式人生 > >MySQL GTID空庫複製搭建

MySQL GTID空庫複製搭建

MySQL GTID空庫複製搭建
環境
1. 主備庫開啟gtid
2. 備庫上停掉之前的傳統複製並清空資訊
3. 指定主庫
4. 備庫重新連線

MySQL GTID空庫複製搭建

環境

  • 主庫:IP:192.168.1.21;版本:5.7.18
  • 備庫:IP:192.168.1.128;版本:5.6.36

1. 主備庫開啟gtid


 
  1. #vim my.cnf
  2. gtid_mode=on
  3. enforce_gtid_consistency=on
  4. #log-slave-updates=ON(5.7不需要新增,會將gtid資訊放在mysql.gtid_executed表中)

2. 備庫上停掉之前的傳統複製並清空資訊


 
  1. [email protected] : (none) 11:56:00> stop slave;
  2. Query OK, 0 rows affected (0.02 sec)
  3. [email protected] : (none) 11:56:33> reset slave all;
  4. Query OK, 0 rows affected (0.08 sec)

3. 指定主庫


 
  1. #複製賬號沿用先前的賬號repl和密碼repl
  2. [email protected] : (none
    ) 01:43:29> change master to master_host='192.168.1.21',master_user='repl',master_password='repl',master_auto_position=1;
  3. Query OK, 0 rows affected, 2 warnings (0.08 sec)
  4. [email protected] : (none) 01:57:13> show slave status\G;
  5. *************************** 1. row ***************************
  6. Slave_IO_State:
  7. Master_Host: 192.168.1.21
  8. Master_User: repl
  9. Master_Port: 3306
  10. Connect_Retry: 60
  11. Master_Log_File:
  12. Read_Master_Log_Pos: 4
  13. Relay_Log_File: mysql-relay-bin.000001
  14. Relay_Log_Pos: 4
  15. Relay_Master_Log_File:
  16. Slave_IO_Running: No
  17. Slave_SQL_Running: Yes
  18. Replicate_Do_DB: sbtest
  19. Replicate_Ignore_DB:
  20. Replicate_Do_Table:
  21. Replicate_Ignore_Table:
  22. Replicate_Wild_Do_Table:
  23. Replicate_Wild_Ignore_Table:
  24. Last_Errno: 0
  25. Last_Error:
  26. Skip_Counter: 0
  27. Exec_Master_Log_Pos: 0
  28. Relay_Log_Space: 151
  29. Until_Condition: None
  30. Until_Log_File:
  31. Until_Log_Pos: 0
  32. Master_SSL_Allowed: No
  33. Master_SSL_CA_File:
  34. Master_SSL_CA_Path:
  35. Master_SSL_Cert:
  36. Master_SSL_Cipher:
  37. Master_SSL_Key:
  38. Seconds_Behind_Master: 0
  39. Master_SSL_Verify_Server_Cert: No
  40. Last_IO_Errno: 1593
  41. Last_IO_Error: The slave IO thread stops because the master has @@GLOBAL.GTID_MODE OFF and this server has @@GLOBAL.GTID_MODE ON
  42. Last_SQL_Errno: 0
  43. Last_SQL_Error:
  44. Replicate_Ignore_Server_Ids:
  45. Master_Server_Id: 12001
  46. Master_UUID:
  47. Master_Info_File: mysql.slave_master_info
  48. SQL_Delay: 0
  49. SQL_Remaining_Delay: NULL
  50. Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
  51. Master_Retry_Count: 86400
  52. Master_Bind:
  53. Last_IO_Error_Timestamp: 170523 01:57:13
  54. Last_SQL_Error_Timestamp:
  55. Master_SSL_Crl:
  56. Master_SSL_Crlpath:
  57. Retrieved_Gtid_Set:
  58. Executed_Gtid_Set:
  59. Auto_Position: 1
  60. 1 row in set (0.00 sec)
  61. #報錯顯示主庫沒有開啟gtid
  62. #檢視主庫是否開啟gtid:
  63. mysql> show variables like 'GTID_MODE%';
  64. +---------------+-------+
  65. | Variable_name | Value |
  66. +---------------+-------+
  67. | gtid_mode | OFF |
  68. +---------------+-------+
  69. 1 row in set (0.03 sec)
  • 檢視主庫配置檔案發現,主庫的gtid_mode=on以及enforce_gtid_consistency=on放在了[mysqld_safe]下,而沒有放在[mysqld]下

 
  1. #修改vim /usr/local/mysql/my.cnf(需要在mysqld下新增,否則會導致不生效)
  2. [mysqld]
  3. gtid_mode=on
  4. enforce_gtid_consistency=on

 
  1. #重啟主庫mysql
  2. [[email protected]-192-168-1-21 mysql]# service mysql stop
  3. Shutting down MySQL.... SUCCESS!
  4. [[email protected]-192-168-1-21 mysql]# service mysql start
  5. Starting MySQL.. SUCCESS!
  6. mysql> show variables like 'GTID_MODE%';
  7. +---------------+-------+
  8. | Variable_name | Value |
  9. +---------------+-------+
  10. | gtid_mode | ON |
  11. +---------------+-------+
  12. 1 row in set (0.01 sec)

4. 備庫重新連線


 
  1. [email protected] : (none) 02:30:41> stop slave;
  2. Query OK, 0 rows affected (0.01 sec)
  3. [email protected] : (none) 02:30:46> start slave;
  4. Query OK, 0 rows affected (0.02 sec)
  5. 相關推薦

    MySQL GTID複製搭建

    MySQL GTID空庫複製搭建 環境 1. 主備庫開啟gtid 2. 備庫上停掉之前的傳統複製並清空資訊 3. 指定主庫 4. 備庫重新連線 MySQL GTID空庫複製搭建 環境 主庫:IP:

    mysqldump和xtrabackup兩種方式進行非複製搭建

    mysqldump和xtrabackup兩種方式進行非空庫複製搭建 1、mysqldump非空庫複製搭建 2、xtrabackup非空庫複製搭建 mysqldump和xtrabackup兩種方式進行非空庫複製搭建 1、mysqldu

    mysql數據服務搭建

    mysql一:準備工作首先查看是否有rpm安裝的 mysql 和 cmake 如果有要rpm -e 卸載rpm安裝的ncurses,如果沒有安裝要用rpm -ivh 安裝2.源碼編譯及安裝mysql3.安裝後的其他調整安裝完成後還需對數據庫目錄進行權限設置建立配置文件初始化數據庫設置環境變量4.添加系統服務本

    Redhat6.5中MySQL數據搭建

    編譯安裝:MySQL數據庫MySQL數據庫的搭建首先在Linux系統中掛載MySQL軟件包,將軟件包解壓到指定的目錄中。 cd /opt/mysql-5.5.24,開始準備安裝編譯環境,安裝MySQL需要的編譯環境有gcc 、 gcc-c++ 、make、cmake。安裝前可先檢查是否已經安裝,若已安裝則不需

    mysql GTID 半同步複製

    1)什麼是GTID GTID(Global Transaction ID)是對於一個已提交事務的編號,並且是一個全域性唯一的編號。GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL例項的唯一標 識,儲存在mysql資料目錄下的auto.cnf檔案裡。TID代表了該例項上已經提交的事務數量

    Mysql傳統複製搭建過程中reset slave以及reset slave all對複製的影響

    Mysql傳統複製空庫搭建過程中reset slave以及reset slave all對複製的影響 主庫資訊 從庫資訊 操作過程 主庫上操作 從庫上操作 主庫上檢視 解決方法 思路探討

    如何在Ubuntu 14.04上利用jexus搭建支持php+mysql數據的網站服務

    建立數據庫 wordpress rpc 一個 upd chmod lca chm spel 準備部分:sudo apt-get update sudo apt-get install unzip -y第一部分:安裝jexus 在終端運行以下命令

    漲知識,漲知識 :ThinkPHP框架下Where條件查詢Mysql數據某字段是否為

    field 打印 想要 sts bsp ech 是否為空 time inf 代碼虐我千百遍,我對代碼如初戀~ 問題: 查詢某字段app_date數據是否為NULL,正常我們實現的辦法是: $map[‘app_data‘] = array(‘eq‘,‘null

    Windows平臺下搭建MySQL數據

    最新 mysql\ list com 計算機相關 環境 download clas ice 1、下載安裝MySQL數據庫: (1)->我的標簽->軟件下載->計算機相關專業所用軟件---百度雲鏈接下載->mysql-installer-communi

    h5魚蝦蟹平臺搭建MySQL數據規範及解讀

    IT 操作符 clas color order 復雜 索引 寫法 擴展性 一、基礎規範 第一條:必須使用InnoDB存儲引擎 解讀:支持事務、行級鎖、並發h5魚蝦蟹平臺搭建Q1446595067官網:h5.haozibbs.com性能更好、CPU及內存緩存頁優化使得資源

    Linux虛擬機中搭建MySQL數據

    Linux MySQL 1、解壓MySQL壓縮包,安裝編譯環境包;2、安裝環境包,創建MySQL用戶,並創建安裝目錄;3、手動編輯配置文件;4、將配置文件轉換成二進制文件,並進行安裝;5、更改屬主屬組,編輯環境變量;6、復制配置文件和啟動腳本,並添加MySQL服務;7、初始化數據庫,並建立軟連接; 8

    SqlServer和MySql數據搭建ZBLOG讀書筆記站點方案和優缺點[圖]

    ASP PHP 方案 網站 IT 很多年以前,大家都知道博客兩個字,因為那時候博客流行,大多數人都在寫博客,博客一般都選擇一個主題來作為自己的寫作方向,並且對於主體性都比較有建樹,大多數時候都是專業人士的心得體會文章,比較適合大家閱讀和參考。 如今,大家不再熟悉博客網站了吧,但是有一種新的

    linux環境下搭建MySQL數據的雙擊熱備

    RoCE offset 可能 引入 The repl chang 操作系統 lis 準備服務器 由於Mysql不同版本之間的(二進制日誌)binlog格式可能會不太一樣,因此最好的搭配組合是主(Master)服務器的Mysql版本和從(Slave)服務器版本相同或者更低,

    mysql 數據搭建Zabbix 監控

    led 文檔 cin swd bin star user con .so mysql安裝zabbix4.0一 準備環境 1. 關閉系統selinux[root@linux01 ~]#vi /etc/selinux/config #This file controls th

    RDS主、ECS自建mysql GTID 主從

    51cto ecs inno 一點 參數 -- 服務 oss str 這裏困擾了自己很久,寫下來望有緣人看到節約一點時間 現在公司的線上用的mysql數據庫,是購買的阿裏雲的RDS for mysql 服務,由於有服務需要讀取mysql的bin-log,並且基於RDS的只讀

    mysql MHA擴展haproxy搭建只讀負載均衡

    pclose sse 環境 warning ext 正常 keep owin 自帶 【環境介紹】 系統環境:Red Hat Enterprise Linux 7 + 5.7.18 + MHA version 0.57 MHA架構中從庫之間的負責均衡可選擇mysql_rout

    mysql:將資料庫複製到另一個數據

    操作步驟:     1.        雙擊開啟資料庫1     2.     &nb

    《深入淺出MySQL:資料庫開發、優化與管理維護(2nd)》第31章之MySQL半同步複製搭建學習筆記

    MySQL的非同步複製在使用的過程中,主庫和從庫的資料之間存在一定的延遲,這樣存在一個隱患:當在主庫上寫入一個事務並提交成功,而從庫尚未得到主庫推送的Binlog日誌時,主庫宕機了,例如主庫可能因磁碟損壞、記憶體故障等造成主庫上該事務Binlog丟失,此時從庫就可能損失這個事務,從而造成主從不一致。

    《深入淺出MySQL:資料庫開發、優化與管理維護(2nd)》第31章之MySQL非同步複製搭建學習筆記

    MySQL的複製原理大致如下: (1)首先,MySQL主庫在事務提交時會把資料變更作為事件Events記錄在二進位制日誌檔案Binlog中;MySQL主庫上的sync_binlog引數控制Binlog日誌重新整理到磁碟。 (2)主庫推送二進位制日誌檔案Binlog中的事件到從庫的中繼日誌Re

    linux centos下mysql資料庫的主從複製環境搭建

    有兩臺MySQL資料庫伺服器Master和slave,Master為主伺服器,slave為從伺服器,初始狀態時,Master和slave中的資料資訊相同,當Master中的資料發生變化時,slave也跟著發生相應的變化,使得master和slave的資料資訊同步,達到備份的目的。 原理圖如下: