1. 程式人生 > >MySQL&MariaDB主從同步

MySQL&MariaDB主從同步

資料量大的情況下,需要先把主伺服器的資料匯入到從伺服器資料庫中,否則會同步失敗的。

主伺服器地址:192.168.1.127

從伺服器地址:192.168.1.100

主伺服器MySQL配置

編輯配置檔案my.ini,在[mysqld]下面增加下面3行

#主伺服器ID
server-id=127
log-bin=master3306-bin
log-bin-index=master3306-bin.index

#以下程式碼可以省略,特殊說明:忽略的只是資料,而不是資料庫本身,資料庫有多少建立多少,指定忽略的資料庫是不同步這個資料庫的資料(資料庫是空的)
binlog-do-db=testdb    #待同步的資料庫
binlog-ignore-db=information_schema   #忽略不同步的資料庫
binlog-ignore-db=mysql    #忽略不同步的資料庫
binlog-ignore-db=test    #忽略不同步的資料庫

重啟MySQL

建立REPLICATION SLAVE帳號

在系統命令列中輸入mysql -uroot -p123456
#進入MySQL命令列後,輸入以下命令:
#其中,'backup'是新增加的使用者名稱,'192.168.1.100'是從伺服器的地址,100可以換成%,'111111'是增加使用者的密碼。
grant replication slave on *.* to 'backup'@'192.168.1.100' identified by '111111';
#重新整理許可權
flush privileges;
#這些需要記錄,File和Position,這裡忽略的資料庫我刪除了其他兩個,由於頁面款短的原因。
show master status;
+-----------------------+----------+--------------+------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------------+----------+--------------+------------------+
| master3306-bin.000005 |      632 |    testdb    |       mysql      |
+-----------------------+----------+--------------+------------------+
#退出
exit

從伺服器MySQL配置

編輯配置檔案my.ini,在[mysqld]下面增加下面3行

#從伺服器ID
server-id=100
log-bin=mysql3306-bin
relay-log=relay-log
relay-log-index=relay-log-index


#以下程式碼可以省略
binlog-do-db=testdb    #待同步的資料庫
binlog-ignore-db=information_schema   #忽略不同步的資料庫
binlog-ignore-db=mysql    #忽略不同步的資料庫
binlog-ignore-db=test    #忽略不同步的資料庫

重啟MySQL

連線到主伺服器MySQL的指定主庫,啟動slave

在系統命令列中輸入mysql -uroot -p123456
#進入MySQL命令列後,輸入以下命令:
#'192.168.1.127'主伺服器地址
#'backup' 建立的使用者名稱
#'111111' 建立的使用者密碼
#3306 主伺服器MySQL的埠號
#以下兩個值為主伺服器執行show master status後顯示的欄位值
#'master3306-bin.000005' File欄位的值
#632 Position欄位的值
change master to master_host='192.168.1.127',master_user='backup',master_password='111111',master_port=3306,master_log_file='master3306-bin.000005',master_log_pos=632;
#如果報錯,輸入reset slave;
#啟動slave
start slave;
#檢視是否啟動成功
show slave status\G
#顯示以下兩行,表示從伺服器正常工作了
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes  
#退出
exit

相關推薦

MySQL&MariaDB主從同步

資料量大的情況下,需要先把主伺服器的資料匯入到從伺服器資料庫中,否則會同步失敗的。 主伺服器地址:192.168.1.127 從伺服器地址:192.168.1.100 主伺服器MySQL配置 編輯

Mysql slave 主從同步異常處理 Error:1872

mysql主從異常嗎 主從同步 1872 逗哥自動化 1、報錯原因: 今日收到zabbix磁盤報警,通過du命令查找到mysql目錄過大,發現relay日誌沒有設置過期時間,所以手動刪除從庫中繼日誌,之後重啟mysql後主從復制狀態異常: du -h --max-depth=1 / |so

MYSQL配置主從同步

tab var chang mbo ike master AC OS .so MYSQL配置主從同步 mysql主服務器配置 vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysq

一分鐘教你快速建立起MySQL/Mariadb 主從狀態檢測腳本(shell)

watermark 簡單 -h fff adb dev 教你 spin sla 腳本主要實現了網絡檢測和簡單的主從狀態檢測,發現狀態異常即發送郵件報警,在手機上安裝一個易信可實現實時聯動,及時獲取服務器狀態信息,腳本雖簡單卻實用。 #!/bin/bash ##author:

Centos 7上實現MariaDB主從同步

由於將要修改的檔案直接影響到整個資料庫,稍有不慎將會導致整個資料庫無法啟動(別問我為什麼知道),因此在每次對其修改前都應備份一份可用檔案再開始操作。 一.備份將要修改的重要檔案: 1.在home目錄下建立一個專門用於存放備份檔案的資料夾bak: mkdir /home/

MySQL 手動主從同步不鎖表

本文只能保證鎖表時間不會太久 可能會出現從庫需要跳過很多語句的情況 #備份主庫 mysqldump --skip-lock-tables --single-transaction --flush-logs --hex-blob -uroot -pXXXX --maste

mysql實現主從同步基本步驟

**配置主伺服器master ** 1.啟用binlog ,即修改配置檔案/etc/my.cnf,[mysqld]模組下新增兩行 server_id=1 //不一定是1,可以自定義1 到 2^32-1 之間的正整數,但是和從伺服器比必須唯一

mysql主從同步和分庫分表

mysql的主從同步: mysql主伺服器:10.128.199.232 mysql從伺服器:10.128.199.233 資料庫mycat_test 主伺服器my.ini配置,在檔案末尾新增: server-id = 1 log-bin = mysql-bin binlo

MariaDB 主從同步與熱備(14)

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可MariaDB的目的是完全相容MySQL,包括API和命令列,MySQL由於現在閉源了,而能輕鬆成為MySQL的代替品.在儲存引擎方面,使用XtraDB來代替MySQL的InnoDB,MariaDB由MySQL的創始人

MySql資料主從同步配置

由於需要配置MySQL的主從同步配置,現將配置過程記錄下,已被以後不時之需 MySql資料主從同步 Mysql的 主從同步 是一個非同步的複製過程,從一個 Master複製到另一個 Slave上。在 Master 與 Slave 之間的實現整個複製過程主要由三個執行

Linux下MySQL資料庫主從同步配置

Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa

MySQL資料庫主從同步延遲分析及解決方案

一、MySQL的資料庫主從複製原理 1.主庫對所有DDL和DML產生的日誌寫進binlog; 2.主庫生成一個 log dump 執行緒,用來給從庫I/O執行緒讀取binlog; 3.從庫的I/O 

linux伺服器下mysql設定主從同步的過程

1.從資料庫伺服器開啟rsync vi /etc/rsyncd.conf 編輯rsync配置 /usr/bin/rsync --daemon 啟動rsync 2.停止日誌收集伺服器的crontab /etc/init.d/cron stop 3.停止主資料庫rsync

mysql實現主從同步

下文以主資料庫所在機器ip:192.168.5.158,從資料庫所在機器ip:192.168.5.180為例1.1 打包主資料庫在主資料庫伺服器執行以下命令:1、停掉mysql資料庫sudo service mysql stop2、刪除日誌檔案sudo rm -rf /var

mysql mariadb主從復制

ati chang master port cat repl ria rep pass 從服務器設置意思是 指定他的主服務器是誰 詳情 CHANGE MASTER TO MASTER_HOST=‘192.168.112.198‘,MASTER_USER=‘repluser‘

MySQL資料庫主從同步

一、主從同步的原因      為了減輕伺服器處理海量併發訪問所產生的效能問題,其中最主流的方案之一就是讀寫分離。 二、MySQL主從同步流程圖                   &nb

mysql主從同步配置

這就是 sla star 失敗 有效 bin roo orm 相同 文件同步 rsync同步http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html 在當前的生產工作中,大多數應用的mysql主從同步都是異步的

MySQL主從同步是怎樣實現的?

基本原理從庫生成兩個線程,一個I/O線程,一個SQL線程; i/o線程去請求主庫 的binlog,並將得到的binlog日誌寫到relay log(中繼日誌) 文件中; 主庫會生成一個 log dump 線程,用來給從庫 i/o線程傳binlog; SQL 線程,會讀取relay log文件中的日誌,

MySQL主從同步報錯故障處理記錄

記錄 error start record master 前言在發生故障切換後,經常遇到的問題就是同步報錯,下面是最近收集的報錯信息。記錄刪除失敗在master上刪除一條記錄,而slave上找不到Last_SQL_Error: Could not execute Delete_rows e

MariaDB主從同步復制詳解

red feedback 節點 master syntax off one out feed 半同步復制(Semisynchronous replication) 介於異步復制和全同步復制之間,主庫在執行完客戶端提交的事務後不是立刻返回給客戶端,而是等待至少一個從庫接收到並