mysql主從複製(一主一從)配置

    最近看了學習視頻mysql方面的,然後看到主從複製,作用是同步數據,然後可以做讀寫分離,減輕庫的壓力,由於資源有限,目前自己本機一臺mysql,linux一臺mysql,然後開始一主一從的配置把,注意,一定要兩天服務器都能互相ping通

1.首先找到mysql的安裝文件,找到my.ini配置文件,Linux是my.cnf,添加id標識和開啓日誌語句,爲什麼開啓日誌,因爲主從複製的原理就是從服務器通過主服務器庫的日誌來進行操作的,日誌文件增加什麼,從服務器庫就添加什麼

server-id=1000
#開啓binlog日誌
log-bin=mysql-bin

2.另一個也是,找到安裝目錄下的my.ini文件,server-id不重複就行,然後也打開log-bin日誌

server-id=1001
#開啓binlog日誌
log-bin=mysql-bin

 


1.配置主數據庫,假如我已192.168.0.101爲主服務器,就要在192.168.0.101連接裏寫上命令或者navicat裏新建查詢

 

2.選取主服務器,對主服務器進行設置,創建主服務器的用戶,允許從服務器訪問的用戶名密碼以及ip

#創建用戶
#slave 是用戶名  後面 slave 是密碼
#49.235.87.27 是允許訪問的遠程IP地址,這裏要寫從屬服務器的IP
create user 'slave'@'49.235.87.27' IDENTIFIED by 'slave';

3.爲slave用戶授予主從複製的權限

#爲slave用戶授予主從複製的權限
grant replication slave on *.* to 'slave'@'49.235.87.27' identified by 'slave';

4.激活權限

#激活權限
flush PRIVILEGES;

5.短短的三個命令就搞定了主數據庫的配置,然後查看主服務器的狀態

#查看主服務器的狀態
show master status
#查詢結果
File=mysql-bin.000008 日誌文件  
Position=871 是日誌文件偏移量,就是日誌的編號,最近執行日誌的編號

6.查看日誌內容,以下的圖片我把之前視頻記錄下來的文檔內容截圖給你們,主要是大家看看屬性就好了。

#查看日誌內容
show binlog events in 'mysql-bin.000008'


1.然後開始從服務器的配置

#開始配置從服務器的配置
#CHANGE MASTER TO指向連接的是哪一臺主服務器
#MASTER_HOST 主服務器的ip
#MASTER_PORT 主服務器的端口,如果主服務默認端口3306也可以不寫這個配置
#主服務器設置的用戶
#MASTER_LOG_FILE當前從哪個日誌文件讀取,寫上主服務器的日誌文件
#MASTER_LOG_POS 所有564之後的操作編號都會進行主從複製
CHANGE MASTER TO
MASTER_HOST='192.168.0.101'
,MASTER_PORT=3306
,MASTER_USER='slave'
,MASTER_PASSWORD='slave'
,MASTER_LOG_FILE='mysql-bin.000008'
,MASTER_LOG_POS=871

2.開始主從複製

#開始主從複製
start slave;

3.查看從屬服務器的狀態

show slave status

啊呀呀,我的到這裏沒有成功是兩個服務器只有本機能訪問linux,linux訪問不了本機所以一直是連接狀態

如果成功是這樣的呢

然後就測試了,在主服務器裏添加一個庫,從服務器裏就會有一個庫,在庫裏添加表或數據,從服務器裏都會有操作

然後取消主從複製命令,在從服務器裏寫如下

#停止主從複製
stop slave;
#取消主從複製
reset slave
reset slave all

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章