mysql主從配置主主配置

来源:https://www.cnblogs.com/liferr/archive/2018/01/24/8341411.html
-Advertisement-
Play Games

一、 概述 MySQL從3.23.15版本以後提供資料庫複製(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、互相備份模式的功能。本文檔主要闡述瞭如何在linux系統中利用mysql的replication進行雙機熱備的配置。 二、 環境 操作系統:ubuntu 14.04 ...


一、     概述

  MySQL從3.23.15版本以後提供資料庫複製(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、互相備份模式的功能。本文檔主要闡述瞭如何在linux系統中利用mysql的replication進行雙機熱備的配置。 二、     環境  操作系統:ubuntu 14.04  Mysql版本:5.6.14  設備環境:PC(或者虛擬機)兩台 三、     配置 資料庫同步複製功能的設置都在MySQL的配置文件中體現,MySQL的配置文件(一般是my.cnf):在本環境下為/etc/my.cnf 。 設置環境:  IP 的設置: A主機 IP:10.10.0.119        Mask:255.255.0.0 B主機 IP:10.10.8.112        Mask:255.255.0.0 在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status 查看防火牆狀態。如果防火牆狀態為仍在運行。使用service iptables stop 來停用防火牆。如果想啟動關閉防火牆,可以使用setup命令來禁用或定製。 最終以兩台主機可以相互ping通為佳。   配置A主(master) B從(slave)模式   配置A為master   增加一個同步賬號使用 GRANT FILE ON *.* TO 'signal' @'slaveip' IDENTIFIED BY 'youpassword'; GRANT REPLICATION SLAVE ON *.* TO 'signal'@'slaveip' IDENTIFIED BY 'youpassword'; FLUSH PRIVILEGES;    修改A的/etc/my.cnf 文件,在my.cnf 配置項中加入下麵配置: server-id = 1      #Server 標識 log-bin binlog-do-db=test  #指定需要日誌的資料庫   重啟資料庫 service mysqld restart 查看 serverid show variable like 'server_id'; 實例: mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id     | 1     | +---------------+-------+ 1 row in set (0.00 sec)   查看主資料庫狀態 show master status\G 正常為: mysql> show master status/G *************************** 1. row *************************** File: mysqld-bin.000002 Position: 198 Binlog_Do_DB: test,test Binlog_Ignore_DB: 1 row in set (0.08 sec)     配置B為slave 修改配置文件:          修改B的/etc/my.cnf 文件,在my.cnf 配置項中加入下麵配置: server-id=2 replicate-do-db=test    #告訴slave只做backup資料庫的更新   Mysql版本從5.1.7以後開始就不支持“master-host”類似的參數
  執行 change master to master_host='masterIP', master_user='signal', master_password='youslvaePASS'; 若埠不是3306 需要加上埠master_port=xxx   重起資料庫服務:  service mysqld restart  查看server-id:  show variables like ‘server_id’; 實例: mysql> show variables like 'server_id'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id     | 2     | +---------------+-------+ 1 row in set (0.00 sec)   用show slave status/G 命令看日誌情況。        正常為: mysql> show slave status/G *************************** 1. row ***************************              Slave_IO_State: Waiting for master to send event                 Master_Host: masterIP                 Master_User: signal                 Master_Port: 3306               Connect_Retry: 60             Master_Log_File: mysqld-bin.000001         Read_Master_Log_Pos: 98              Relay_Log_File: mysqld-relay-bin.000003               Relay_Log_Pos: 236       Relay_Master_Log_File: mysqld-bin.000001            Slave_IO_Running: Yes           Slave_SQL_Running: Yes             Replicate_Do_DB: test,test         Replicate_Ignore_DB:          Replicate_Do_Table:      Replicate_Ignore_Table:     Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table:                  Last_Errno: 0                  Last_Error:                Skip_Counter: 0         Exec_Master_Log_Pos: 98             Relay_Log_Space: 236             Until_Condition: None              Until_Log_File:               Until_Log_Pos: 0          Master_SSL_Allowed: No          Master_SSL_CA_File:          Master_SSL_CA_Path:             Master_SSL_Cert:           Master_SSL_Cipher:              Master_SSL_Key:       Seconds_Behind_Master: 0 1 row in set (0.01 sec) 驗證配置 分別使用insert, delete , update 在A 主機進行增刪改查資料庫;查看B主機的資料庫是否與A主機一致;若一致,則配置成功。 雙機互備(主主同步) 在A主機加入slave設置,在B主機加入master設置,則可以做B->A的同步。  常見問題及解決 1、Slave機器的許可權問題,不但要給slave機器File許可權,還要給它REPLICATION SLAVE的許可權。 2、在修改完Slave機器/etc/my.cnf之後,slave機器的mysql服務啟動之前,記得要刪除掉master.info 3、在show master status 或著show slave status 不正常時,看看.err是怎樣說的。 4、Slave上Mysql的Replication工作有兩個線程, I/O thread和SQL thread 。I/O 的作用是從master 3306埠上把它的binlog取過來(master在被修改了任何內容之後,就會把修改了什麼寫到自己的binlog等待slave更新),然後寫到本地的relay-log,而SQL thread則是去讀本地的relay-log,再把它轉換成本Mysql所能理解的語句,於是同步就這樣一步一步的完成.決定I/O thread的是/var/lib/mysql/master.info,而決定SQL thread的是/var/lib/mysql/relay-log.info.    5、啟動slave,命令用start slave;重新啟動用restart slave 若遇到 Slave_IO_Running: Yes(no) Slave_SQL_Running: No(no) 方法1: 停止salve stop slave; #表示跳過一步錯誤,後面的數字可變 set global sql_slave_skip_counter =1; start slave; 再用 show slave status\G  #查看狀態 Slave_IO_Running: Yes Slave_SQL_Running: Yes 都為yes時正常 方法2:在mysql配置文件中加入 slave-skip-errors=1062,1053,1146  跳過錯誤 方法3: 重做主從同步   參考 http://blog.csdn.net/nuanchun666/article/details/2069301 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1: bin目錄 此目錄存放所有二進位命令(用戶) 2: boot目錄 Linux內核及引導系統程式所需的目錄 3: dev目錄 所有設備文件的目錄(如音效卡、磁碟、光碟機) 4: etc目錄 二進位安裝包(yum,rpm)配置文件預設路徑,服務啟動命令存放目錄 5: home目錄 普通用戶的家目錄預設 ...
  • WIN10賬戶預設的頭像的都是半透明,但年少不更事就換了頭像,接著看到別人的頭像是半透明的,就開始後悔了,然後就去問度娘。結果大多數如下 對於一個有著強迫症患者的人來說,每次看到鎖屏界面時的不透明賬號頭像,總是覺得很不爽。 然後就開始了強迫之旅,又是翻牆,又是翻譯,終於在一番努力下搞定了。步驟如下: ...
  • 【轉】https://www.cnblogs.com/zengguowang/p/6911812.html 下載地址:https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 安裝依賴軟體 ...
  • 1.事物簡介 ACID:Atomicity(要麼全都做,要麼全不做)、Consistency(一致性)Isolation(最關鍵,事物之間獨立,互相不影響) Durability(持久)隔離級別:Read Uncommitted(可以讀別的事物未提交commit的數據) Read Committed ...
  • 前言 昨天筆者介紹了Mysql的解壓縮版本的安裝,今天筆者就來介紹一下msi版本的安裝。 一、下載地址 https://dev.mysql.com/downloads/ 但是可能你會發現,在官網下載的速度像龜速一樣,這時候有一個小技巧可以用哦,那就是將下載的鏈接複製一下,到迅雷上面去下載,原本七個小 ...
  • 項目因為歷史原因使用了 GBK編碼,遇到非GBK編碼字元時出現亂碼問題,情況比較嚴重,暫時先打算修改 列的字元編碼為 utf8mb4. 查看 mysql 手冊: 用 GBK 編碼轉 utf8 進行說明: 他的大概意思是,如果 是 char varchar text 等類型的,並且這些列的內容也是採用 ...
  • 日常應用運維工作中,Dev或者db本身都需要統計表的行數,以此作為應用或者維護的一個信息參考。也許很多人會忽略select count(*) from table_name類似的sql對資料庫性能的影響,可當你在慢日誌平臺看到執行了數千次,每次執行4秒左右的查詢,你還會無動於衷嗎?作為一個有擔當敢於 ...
  • FROM `task_detatils` WHERE FIND_IN_SET( '1', responsible_user) 將含有1的responsible_user列數據全部搜索出來 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...