標籤:
一、環境介紹
作業系統:centos 6.5
資料庫:mysql 5.1.73
二、配置步驟
PS:linux核心的作業系統中下載、安裝mysql不屬於本文重點,所以不多做介紹。
文中涉及到的設定檔路徑皆以以上環境為準,作業系統和mysql版本不一致可能會導致路徑也不同。
主(master)配置:
1.在/var/lib/mysql/目錄下建立***.log檔案,該檔案會在第三步中使用,主要是記錄主從資料同步操作的記錄檔,單機資料庫服務可以選擇開啟或不開啟,但主從配置環境是必須要開啟該項的,因為伺服器需要有一個記錄主從同步操作的地方,這個記錄檔就是。
2.使用chmod -R 777 /etc/my.cnf修改mysql設定檔的許可權。
3.開啟my.cnf檔案,在 [mysqld] 下方添加
server-id=1 (隨便命名,但保證在整個主從配置中是唯一的)
log-bin=/var/lib/mysql/***.log。
註:修改完my.cnf檔案後一定要將該檔案的許可權修改為唯讀,否則mysql會給出警告,這個警告會導致你修改的配置不起作用,我在這被坑很久。可以使用 show variables like ‘log_bin’; 如果value為ON說明配置正確。
4.使用命令 service mysqld start 啟動mysql服務,並使用 mysql -u [user] -p 登陸mysql。
5.使用命令 grant replication slave on *.* to ‘user’@’%’ identified by ‘password’;建立從伺服器的帳號和密碼。
6.使用命令 show master status;查看狀態並記錄File和Port欄位中的值,在配置從伺服器的時候需要該資訊。
註:至此,主伺服器配置過程已經結束,盡量不要再對主伺服器進行任何操作,否則會導致prot發生變化,如果一定要進行操作,操作完畢後使用第6步的命令再次進行查看狀態資訊。
從(slave)伺服器配置:
1.參考主伺服器配置中步驟1、2、3,server_id是必須要有的,log-bin可有可無。配置完畢後使用命令service mysqld start啟動服務。
2.登陸資料庫伺服器。
3.使用命令 change master to
master_host=主伺服器地址,
master_user=user,
master_password=password,
master_log_file=配置主伺服器步驟6中的File值
master_log_pos=配置主伺服器步驟6中的Port值;
4.使用命令 start slave;啟動從伺服器。
註:如果啟動失敗使用命令 show variables like ‘server_id’;查看value是否為0,如果為0檢查第1步的配置。
至此mysql的主從搭建就全部完成了,在此基礎上我們可以通過對主從的配置讀寫權限修改實現讀寫分離。
三、測試
在主伺服器中建立資料庫表並新增記錄,切換到從伺服器中對該表進行查詢,就可以看到mysql自從實現了主從資料的同步。
mysql主從配置