溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL-5.5.33主從復(fù)制

發(fā)布時間:2020-07-10 20:19:44 來源:網(wǎng)絡(luò) 閱讀:3692 作者:mlwzby 欄目:數(shù)據(jù)庫

搭建主從同步需要在兩個電腦上分別安裝 MySQL ,我這里安裝的是 CentOS6.7 64位,MySQL-5.5.33。

MySQL 是二進(jìn)制包安裝的:http://aby028.blog.51cto.com/5371905/1892818

兩臺的操作是一樣的,要求能夠登陸 mysql 數(shù)據(jù)庫即可。

主從地址如下:

master:192.168.133.128

slave:192.168.133.132

ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2

MySQL-5.5.33主從復(fù)制

MySQL-5.5.33主從復(fù)制

 

環(huán)境介紹:

cat  /etc/redhat-release

uname -a    

MySQL-5.5.33主從復(fù)制

 

配置主庫的 my.cnf 文件,為了方便操作過濾掉開頭是 #,$  的行

cat /etc/my.cnf | grep -v ^# | grep -v ^$ > tmp.log

cat tmp.log > /etc/my.cnf

MySQL-5.5.33主從復(fù)制

 

編輯 /etc/my.cnf 文件

server-id       = 1          

log-bin=mysql-bin    

#max_binlog_size=500M

#binlog-do-db=test

#binlog-ignore-db=test1

skip-name-resolve

lower_case_table_names=1

 

MySQL-5.5.33主從復(fù)制

以上參數(shù)介紹:

server-id       = 1  #表示服務(wù)器ID,可以自定義,在主從中是唯一的且必須為數(shù)字

log-bin=mysql-bin      #表示啟用mysql二進(jìn)制日志,必須要啟動,否則主從不會生效

#max_binlog_size=500M   #表示每個binlog文件最大500M,但一條記錄不會寫在兩個日志中,所以日志有時會超500M

#binlog-do-db=test    #表示要同步的數(shù)據(jù)庫名字,如果是多個數(shù)據(jù)庫,在多加一行就可以

#binlog-ignore-db=test1   #表示不需要同步的數(shù)據(jù)庫名字,如果是多個數(shù)據(jù)庫,在多加一行就可以

skip-name-resolve      #忽略主機(jī)名的方式訪問

lower_case_table_names=1     #忽略數(shù)據(jù)庫表名大小寫  

如果將 binlog-do-db=test ,binlog-ignore-db=test1   不寫或是注釋則表示為同步所有數(shù)據(jù)庫,我這里就是同步所有數(shù)據(jù)庫    

修改過 my.cnf 文件后需要重啟 mysql 服務(wù)

/etc/init.d/mysqld restart

MySQL-5.5.33主從復(fù)制

 

 

登陸主庫,并創(chuàng)建一個賬號并授權(quán),專門用于主從同步

創(chuàng)建賬號之后別忘記刷新權(quán)限

grant replication slave on *.* to yuci@'%' identified by '123456';

flush privileges;    

MySQL-5.5.33主從復(fù)制

檢查自己剛才的操作

select user,host from mysql.user;

show grants for yuci@'%';

MySQL-5.5.33主從復(fù)制

 

進(jìn)行鎖表,鎖表后將只能讀取不能創(chuàng)建或插入任何信息

flush table with read lock;

MySQL-5.5.33主從復(fù)制

 

查看 binlog 的文件名以及 pos 位置節(jié)點

show master status;    

MySQL-5.5.33主從復(fù)制

 

在從庫上用剛才創(chuàng)建的用戶登陸主庫,測試兩臺數(shù)據(jù)庫是否連接通常

mysql -uyuci -p123456 -h292.168.133.128    

MySQL-5.5.33主從復(fù)制

 

開一個遠(yuǎn)程界面,連接主庫并將導(dǎo)出數(shù)據(jù)庫。(保證之前的 mysql 登陸界面不要退出)    

在將新導(dǎo)出的 test.sql 文件通過 scp 傳給從庫

mysqldump -uroot -p123456 --events -A -B > /root/test.sql

scp test.sql root@192.168.133.132:/root

yes

MySQL-5.5.33主從復(fù)制

 

回到主庫,解鎖

unlock tables;

MySQL-5.5.33主從復(fù)制      

在從庫上將剛才的 test.sql 文件導(dǎo)入到數(shù)據(jù)庫

mysql -uroot -p123456 < /root/test.sql        

MySQL-5.5.33主從復(fù)制

 

編輯從庫上 my.cnf 文件,將 server-id 修改為 2

vim /etc/my.cnf

server-id       = 2      

MySQL-5.5.33主從復(fù)制

 

修改了 my.cnf 文件,需要重啟 mysql

/etc/init.d/mysqld restart      

MySQL-5.5.33主從復(fù)制

 

登陸 mysql 配置從庫的同步參數(shù)

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',

MASTER_PORT=3306,

MASTER_USER='yuci',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=107;

MySQL-5.5.33主從復(fù)制

以上參數(shù)配置

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',            #表示主庫的IP

MASTER_PORT=3306,          #表示主庫的端口

MASTER_USER='yuci',        #表示主庫上允許同步的用戶

MASTER_PASSWORD='123456',     #表示同步用戶的密碼

MASTER_LOG_FILE='mysql-bin.000001',         #表示從哪個binlog文件開始同步

MASTER_LOG_POS=107;       #表示從binglong文件的哪個pos節(jié)點位置開始同步

 

在從庫上執(zhí)行 start slave 操作,IO連接

start slave;    

MySQL-5.5.33主從復(fù)制

 

查看當(dāng)前的狀態(tài),關(guān)鍵有以下幾個內(nèi)容

show slave status\G;

MySQL-5.5.33主從復(fù)制

關(guān)鍵查看以下參數(shù)

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes           #主從之間的網(wǎng)絡(luò)

Slave_SQL_Running: Yes        #主從之間的數(shù)據(jù)

Seconds_Behind_Master: 0     #從庫落后主庫的秒數(shù)

 

在主庫中創(chuàng)建一個數(shù)據(jù)庫,測試主從是否同步

create database haha;    

MySQL-5.5.33主從復(fù)制

 

在主庫中查看

show databases;

MySQL-5.5.33主從復(fù)制

 

在從庫中查看,主從同步成功

show databases;    

MySQL-5.5.33主從復(fù)制

 

 

 

 

zhao

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI