1. 程式人生 > >MySQL5.5主從配置

MySQL5.5主從配置

一:實驗環境
主機IP(Master) 192.168.101.28 centos下
從機IP(Slave) 192.168.100.39 window下

二:給Master授權允許遠端登入的使用者

1.向Master新增遠端登入的使用者

mysql>grant replication slave on "." to "repl"@"192.168.100.39" identified by "123456";

2.重新整理授權

mysql>flush privileges;

3.檢視授權結果:

mysql>show grants for "repl"@"192.168.100.39"

這裡寫圖片描述

4.測試Slave遠端登入Master

mysql -h 192.168.101.28 -u repl -p123456(注意-p後無空格)

5.Master端檢視遠端連線的客戶端資訊

mysql>show processlist

這裡寫圖片描述

三:Master配置

vim /etc/my.cnf,如在/etc/下沒有找到my.cnf,則去/usr/share/mysql下找到my-medium.cnf並複製到/etc/下改名為my.cnf

在my.cnf找到確認如下資訊,如沒有則手動新增:

[mysqld]
    log-bin=mysql-bin    # 確認開啟binlog日誌
binlog_format=mixed # 確認binlog日誌格式為mixd混合型別 server-id=1 # 在整個主從架構內指定一個唯一的server-id

四:Slave配置

配置my.inf(我的Salve是在window下)

找到並確認如下資訊,如沒有則手動新增:

[mysqld]
    log-bin=mysql-bin    # 確認也開啟binlog日誌
    binlog_format=mixed  # 確認binlog日誌格式為mixd混合型別
    server-id=2        # 在整個主從架構內指定一個唯一的server-id

Slave其他可選配置:

 1.白名單 - 只想複製某(些)個庫:
    replicate_do_db=testdb #只複製testdb庫(可配置多個)

 2.白名單 - 只想複製某(些)個庫(的所有表)
     replicate_wild_do_table=testdb.% #複製testdb庫的所有表(可配置多個)

 3.白名單 - 只想複製某(些)個庫(的部分表)
     replicate_wild_do_table=testdb.t1 #複製testdb.t1表
     replicate_wild_do_table=testdb.t2 #複製testdb.t2表

 4.黑名單 - 想忽略對mysql資料庫的複製
     replicate_ignore_db=mysql #不復制mysql庫(可配置多個)

 5.黑名單 - 想忽略對某些庫的某些表的複製
     replicate_wild_ignore_table=mysql.users # 不復制mysql.users表(可配置多個)

6.如果想實現“主-->從-->從”的鏈式架構,因為在預設情況下,從Master複製過來的資料不會寫入到Slave的binlog日誌裡,而是寫入中繼日誌(localhost-relay-bin.00000x)裡,所以Slave如果還需要充當其它機器的Master,就將從Master複製來的資料同時也寫入Slave的本地binlog日誌,新增如下配置:
     log-slave-updates =1

五:Master操作

mysql>flush logs(重新整理Master日誌記錄)
mysql>show master status(檢視主機最後日誌檔案和最後起始點)

這裡寫圖片描述

六:Slave操作

1.在Slave上執行命令,動態改變連線到Master的配置,生成或更新master.info檔案:

mysql> change master to master_host="192.168.101.28",
master_user='repl', 
master_password='123456', 
master_log_file='mysql-bin.000004', 
master_log_pos=107;

可選配置:

master_heartbeat_period=60 #60秒探測一次Master是否線上
master_connect_retry=10 #無法連線Master的時候重試連線的間隔時間為10秒

3.啟動IO執行緒(負責從Master端複製 mysql-bin.00000x 日誌,並把複製來的資料全部都放到 localhost-relay-bin.00000n 日誌裡)和SQL執行緒(負責讀取中繼日誌(relay-log.info)裡的資訊,將 localhost-relay-bin.00000n 日誌裡的資料寫入本地Slave。),並檢視Slave狀態

mysql> start slave;
mysql> show slave status;

如在輸出中看到如下所示說明同步成功:

這裡寫圖片描述

注:如果開始的環境不是主從架構,而是跑了一段時間主(Master)機已經有了資料,可由如下方法解決:

1.在主機上拷貝以後Slave所要複製的資料庫

 mysql>mysqldump -u root -proot spider_copy > /root/spider.sql;

2.檢視Master最新的binlog日誌,並記錄binlog日誌名和pos點,Salve就從這裡開始同步:

mysql>mysql -u root -p;
mysql>show master status;

這裡寫圖片描述

3.將備份的檔案在Slave上恢復:

mysql -uroot -proot -v < /root/spider.sql

4.在Slave上執行命令,動態改變連線到主(Master)機的配置,生成或更新master.info檔案:

mysql> change master to master_host="192.168.101.28",
master_user='repl', 
master_password='123456', 
master_log_file='mysql-bin.000006', 
master_log_pos=107;

mysql> start slave;
mysql> show slave status;

如在輸出中看到如下所示說明同步成功:

這裡寫圖片描述

相關推薦

MySQL5.5主從配置

一:實驗環境 主機IP(Master) 192.168.101.28 centos下 從機IP(Slave) 192.168.100.39 window下 二:給Master授權允許遠端登入的使用者 1.向Master新增遠端登入的使用者 mysq

Mysql5.6主從配置(mysql5.5通用)

error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

配置mysql5.5主從複製、半同步複製、主主複製

mysql主伺服器 192.168.8.40 mysql從伺服器 192.168.8.41 全新配置過程(主和從資料庫都沒有資料):    主從複製主伺服器設定:      1.改server-id      2.啟用二進位制日誌      # mkdir /data/b

配置mysql5.5主從伺服器(轉)

教程開始: 一、安裝MySQL 說明:在兩臺MySQL伺服器192.168.21.169和192.168.21.168上分別進行如下操作,安裝MySQL 5.5.22  二、配置MySQL主伺服器(192.168.21.169)mysql  -uroot  -p    #進入MySQL控制檯 create 

mysql5.5主從經驗分享

liunx mysql5.5 主從方法一:第一步:修改配置文件my.conf修改部分:server-id=1 (1為master數據庫,2為slave數據庫)log-bin=master-bin (master-bin和slave-bin便於區分)socket = /r2/mysqldata

超詳細搭建Mysql5.5主從復制

sets mysql安裝 mysqld mysql-bin 實驗 server-id 企業網 分享圖片 ffffff 需求分析 在企業網站中,後端MySQL數據庫只有一臺時,會有以下問題1.單點故障,服務不可用2.無法處理大量的並發數據請求3.數據丟失——大災難 解決思路

Windows下mysql5.5主從複製

Windows下mysql5.5主從複製 一、Windows下mysql5.5主從複製 1.1 主伺服器配置 1.1.1 在mysql下找到my.ini檔案,在其[mysqld] 下新增主伺服器端配置: 1.1.2 儲存my

CentOS下 mysql5.6.* 主從配置

mysql主從複製 (超簡單) 怎麼安裝mysql資料庫,這裡不說了,只說它的主從複製,步驟如下: 1、主從伺服器分別作以下操作:   1.1、版本一致   1.2、初始化表,並在後臺啟動mysql   1.3、修改root的密碼2、修改主伺服器master:   

CentOS 7 下 MySql5.7 主從配置

演示用兩臺全新MySql伺服器: mysql1:10.10.1.55 (主) mysql2:10.10.1.56 (從) 配置主從,步驟如下: STEP 1:在mysql1上建立複製賬號 repl CREATE USER 'repl'@'10.10.1.%' IDENTIFIED BY 'myRep8%Go

Windows上做MySQL5.5 主從熱備份

1、主從伺服器分別作以下操作: 版本一致 初始化表,並在後臺啟動mysql 修改root的密碼 2、修改主伺服器master: 修改my.ini [mysqld] log-bin=D:\log\mysql\mysql-bin

mysql 5.5 主從配置

master 跑在虛擬機器上,slave 在虛擬機器裡用的 docker 跑的 master 配置 my.cnf: log-bin=mysql-bin-master #啟用二進位制日誌 server-id = 1

win7下MYSQL5.6主從配置

本人按此教程 Mysql5.6主從熱備配置 配置成功,由於原文無法轉載,所以在這裡簡單總結以供以後參考。 為了方便,用字母A代表主機,用字母B代表從機,即如果標題中出現A,代表該段落中操作的是主資料庫的配置檔案或命令列,如果出現B,代表該段落中操作的是從資料庫的配置檔案

mysql5.5.6 配置手冊

一.mysql5.5.6 安裝 1.解除安裝原有的 mysql #rpm -qa   grep -i mysql #rpm -ev MySQL-client-5.5.6_rc-1.linux2.6 #rpm -ev MySQL-server-5.5.6_rc-1.linux

mysql5.7主從(Master/Slave)同步配置

server 5.7 test 設置 format slave mct 關閉 忽略 環境: mysql版本都是5.7(以前的版本配置可能不一樣) 主(Master) windows:192.168.0.68 從(Slave) centos7:192.168.0.4 基本

ubuntu16配置mysql5.7主從同步

mysqld 設置 update 三臺 host 測試 start mysql sha 測試環境如下:   master: 10.0.0.26   slave01: 10.0.0.27   slave02: 10.0.0.28 一、三臺機均安裝mysql-server5

MySQL5.7 主從復制配置

art AC vmw src mysql- 主服務器 lec serve 自動清理 一、主從復制原理 MySQL 主從復制是一個異步的復制過程,主庫發送更新事件到從庫,從庫讀取更新記錄,並執行更新記錄,使得從庫的內容與主庫保持一致。每一個主從復制的連接,都有三個線程

mysql-5.7的主從配置

day pat 就是 tid eve nta var oot 初始 mysql的主從配置 下載最新mysql 的yum源 1、wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rp

mysql5.6 主從同步配置

文件名 登錄 nds 每次 hang mysqldump details 5.6 解決 一:配置前說明 在centos 6環境下配置 mysql 5.6主從同步 準備兩臺測試的虛擬機,2臺虛擬機上都安裝mysql軟件,並開啟mysql服務主master : 192.168.

Mysql5.7 主從複製 主從(Master/Slave)同步配置

環境: mysql版本都是5.7 主(Master) ubutnu18.04:192.168.199.254 從(Slave) ubutnu18.04:192.168.199.172 兩個mysql要資料相同才可以開啟主從,所以這裡新建一個新的庫來處理主從 testzc Ma

MySQL5.7主從配置

主從配置可參考:【MySQL5.7主從同步配置】 主從從,也稱為級聯主從,資料流向:A(主)->B(從)->C(從從),主從從級聯複製。 應用場景 在主從配置的基礎上,再增加一個從庫,進一步提高資料安全,容災備份。 讀寫分離,從庫只用於查詢,提高資料庫整體