Linux系統(tǒng)下MySQL配置主從分離的步驟
| 主服務(wù)器 | 192.168.176.110 |
| 從服務(wù)器 | 192.168.176.120 |
主數(shù)據(jù)庫操作(ip:192.168.176.110)
配置MySQL主服務(wù)器的配置文件
[root@localhost ~]# vi /etc/my.cnf
在my.cnf內(nèi)加上如下配置
server-id = 1 #保證唯一性 log-bin = mysql-bin #主從服務(wù)的核心 定義binblog日志的前綴名 #binlog-do-db=test #需要同步的數(shù)據(jù)庫,如果沒有本行,即表示同步所有的數(shù)據(jù)庫 #binlog-do-db=mydb #需要同步的數(shù)據(jù)庫,同時(shí)同步test、mydb庫 、 #binlog-ignore-db=mysql #被忽略的數(shù)據(jù)庫

重啟MySQL主服務(wù)器
[root@localhost ~]# service mysqld restart
登錄MySQL
[root@localhost ~]# mysql -uroot -p123456
查看數(shù)據(jù)庫狀態(tài)
需要記住File列和Position列的數(shù)據(jù),配置從服務(wù)器需要使用
mysql> show master status;

主數(shù)據(jù)庫操作(ip:192.168.176.120)
配置MySQL從服務(wù)器的配置文件
[root@localhost ~]# vi /etc/my.cnf
在my.cnf內(nèi)加上如下配置
server-id = 2 #保證唯一性

重啟MySQL主服務(wù)器
[root@localhost ~]# service mysqld restart
登錄MySQL
[root@localhost ~]# mysql -uroot -p123456
配置同步主服務(wù)器:
master_host主服務(wù)器地址
master_port主服務(wù)器端口
master_user主服務(wù)器用戶名
master_password主服務(wù)器密碼
master_log_file 對應(yīng)上圖的主服務(wù)器File列數(shù)據(jù)
master_log_pos對應(yīng)上圖的主服務(wù)器Position列數(shù)據(jù)
mysql> change master to master_host='192.168.176.110',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=157;

開啟服務(wù),并查看服務(wù)狀態(tài)
mysql> start slave; #開啟從服務(wù) mysql> show slave status\G; #查看從服務(wù)狀態(tài)

配置成功

配置出錯(cuò)

注意:配置主從同步,出現(xiàn)Slave_IO_Running: No 情況處理方式(復(fù)制同一套環(huán)境出現(xiàn)的問題)
如果出現(xiàn)上圖的錯(cuò)誤,說明兩臺虛擬機(jī)的MySQL環(huán)境的UUID一致。 可以通過命令檢測他們的UUID。
[root@localhost ~]# cat /var/lib/mysql/auto.cnf

如果命令無效 則進(jìn)入到MySQL,執(zhí)行以下命令獲取安裝的路徑
mysql> show variables like 'datadir';
然后從服務(wù)器生成一個(gè)新的UUID
mysql> select uuid();
復(fù)制后 通過命令去修改里面的UUID(路徑為自己mysql安裝路徑)
[root@localhost ~]# vi /var/lib/mysql/auto.cnf
最后重啟下mysql服務(wù)
[root@localhost ~]# service mysqld restart
執(zhí)行完后重新的去執(zhí)行【配置同步主服務(wù)器】的步驟,配置參數(shù)和主服務(wù)器相同的即可
以上是配置主從同步,出現(xiàn)Slave_IO_Running: No 情況處理方式
主服務(wù)器創(chuàng)建數(shù)據(jù)庫


主庫宕機(jī)處理方式
1-確保所有的relay log全部更新完畢,在每個(gè)從庫上執(zhí)行show processlist
2-更新完畢后,登錄所有從庫查看master.info文件,對比選擇pos最大的作為新的主庫,
3-然后登錄這個(gè)新的主庫,執(zhí)行stop slave;進(jìn)入主目錄,刪除master.Info和relay-log.info配置my.cnf文件開啟log-bin文件
4-創(chuàng)建用于同步的用戶并授權(quán)slave
5-登錄另外一臺從庫,執(zhí)行stop slave停止同步
6-執(zhí)行start slave
7-修改新的master數(shù)據(jù),測試slave是否同步更新
從庫宕機(jī)
1-查看從庫上mysql的錯(cuò)誤日志,里面有記錄主從掛掉時(shí)的binlog信息。
2-有了binlog和postion信息后,只需要重新在從庫上進(jìn)行change master to配置即可。配置后開啟slave狀態(tài),沒有報(bào)錯(cuò)
3-查看slave狀態(tài),發(fā)現(xiàn)slave已經(jīng)正常了,開始進(jìn)行延時(shí)數(shù)據(jù)恢復(fù)。
總結(jié)
到此這篇關(guān)于Linux系統(tǒng)下MySQL配置主從分離的文章就介紹到這了,更多相關(guān)MySQL配置主從分離內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql select in 按id排序?qū)崿F(xiàn)方法
有時(shí)候我們在后臺選擇了一系列的id,我們想安裝填寫id的順序進(jìn)行排序,那么就需要下面的order by方法,測試通過2013-03-03
MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error?Code:1091.?Can‘t?DROP?‘XXX‘的解決方法
這篇文章主要給大家介紹了關(guān)于MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error?Code:1091.?Can‘t?DROP?‘XXX‘的解決方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-08-08
mysqli多查詢特性 實(shí)現(xiàn)多條sql語句查詢
mysqli相對于mysql有很多優(yōu)勢,mysqli連接數(shù)據(jù)庫和mysqli預(yù)處理prepare使用,不僅如此,mysqli更是支持多查詢特性2012-12-12
使用JDBC連接Mysql數(shù)據(jù)庫會(huì)出現(xiàn)的問題總結(jié)
這篇文章主要給大家介紹了關(guān)于使用JDBC連接Mysql數(shù)據(jù)庫會(huì)出現(xiàn)的問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10
MySQL數(shù)據(jù)庫INNODB表損壞修復(fù)處理過程分享
突然收到MySQL報(bào)警,從庫的數(shù)據(jù)庫掛了,一直在不停的重啟,打開錯(cuò)誤日志,發(fā)現(xiàn)有張表壞了。innodb表損壞不能通過repair table 等修復(fù)myisam的命令操作?,F(xiàn)在記錄下解決過程2013-08-08

