搭建主從同步需要在兩個(gè)電腦上分別安裝 MySQL ,我這里安裝的是 CentOS6.7 64位,MySQL-5.5.33。
普洱網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),普洱網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為普洱成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的普洱做網(wǎng)站的公司定做!
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
環(huán)境介紹:
cat /etc/redhat-release
uname -a
配置主庫的 my.cnf 文件,為了方便操作過濾掉開頭是 #,$ 的行
cat /etc/my.cnf | grep -v ^# | grep -v ^$ > tmp.log
cat tmp.log > /etc/my.cnf
編輯 /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
以上參數(shù)介紹:
server-id = 1 #表示服務(wù)器ID,可以自定義,在主從中是唯一的且必須為數(shù)字
log-bin=mysql-bin #表示啟用mysql二進(jìn)制日志,必須要啟動,否則主從不會生效
#max_binlog_size=500M #表示每個(gè)binlog文件最大500M,但一條記錄不會寫在兩個(gè)日志中,所以日志有時(shí)會超500M
#binlog-do-db=test #表示要同步的數(shù)據(jù)庫名字,如果是多個(gè)數(shù)據(jù)庫,在多加一行就可以
#binlog-ignore-db=test1 #表示不需要同步的數(shù)據(jù)庫名字,如果是多個(gè)數(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
登陸主庫,并創(chuàng)建一個(gè)賬號并授權(quán),專門用于主從同步
創(chuàng)建賬號之后別忘記刷新權(quán)限
grant replication slave on *.* to yuci@'%' identified by '123456';
flush privileges;
檢查自己剛才的操作
select user,host from mysql.user;
show grants for yuci@'%';
進(jìn)行鎖表,鎖表后將只能讀取不能創(chuàng)建或插入任何信息
flush table with read lock;
查看 binlog 的文件名以及 pos 位置節(jié)點(diǎn)
show master status;
在從庫上用剛才創(chuàng)建的用戶登陸主庫,測試兩臺數(shù)據(jù)庫是否連接通常
mysql -uyuci -p123456 -h292.168.133.128
新開一個(gè)遠(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
回到主庫,解鎖
unlock tables;
在從庫上將剛才的 test.sql 文件導(dǎo)入到數(shù)據(jù)庫
mysql -uroot -p123456 < /root/test.sql
編輯從庫上 my.cnf 文件,將 server-id 修改為 2
vim /etc/my.cnf
server-id = 2
修改了 my.cnf 文件,需要重啟 mysql
/etc/init.d/mysqld restart
登陸 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;
以上參數(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', #表示從哪個(gè)binlog文件開始同步
MASTER_LOG_POS=107; #表示從binglong文件的哪個(gè)pos節(jié)點(diǎn)位置開始同步
在從庫上執(zhí)行 start slave 操作,IO連接
start slave;
查看當(dāng)前的狀態(tài),關(guān)鍵有以下幾個(gè)內(nèi)容
show slave status\G;
關(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)建一個(gè)數(shù)據(jù)庫,測試主從是否同步
create database haha;
在主庫中查看
show databases;
在從庫中查看,主從同步成功
show databases;
zhao
當(dāng)前名稱:MySQL-5.5.33主從復(fù)制
本文鏈接:http://chinadenli.net/article34/gisipe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、標(biāo)簽優(yōu)化、域名注冊、App開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)