1. 程式人生 > >Mysql主從的基本設定

Mysql主從的基本設定

在主伺服器上建立mysql使用者建立使用者(使用root也可以,但是不建議) , 該使用者必須有 REPLICATION SLAVE 許可權

建立使用者:CREATE USER 'test1'@'172.20.10.%' IDENTIFIED WITH mysql_native_password by '123456';

賦權:GRANT REPLICATION SLAVE ON *.* TO 'test1'@'172.20.10.%';

重新整理許可權:flush privileges;

在從伺服器上測試使用主伺服器剛剛建立的賬號是否能夠正常連線 例如

/usr/local/mysql/bin/mysql -utest1 -p123456 -h172.20.10.13

 

停止主、從伺服器的mysql服務

例如 /etc/init.d/mysql stop

 

主伺服器必須開啟開二進位制日誌 例如 vi /etc/my.cnf  (根據實際路徑)

主要是修改配置檔案 , 一般在 linux 下安裝的 mysql 配置檔案是 my.cnf, 在

windwos 下是 my.ini,

修改主伺服器配置檔案

server-id=1

log-bin= 二進位制檔案的位置 # 主伺服器需開啟二進位制日誌 可以是預設值也 可以建立新目錄並且賦予可寫許可權

例如log-bin=/usr/local/mysql/binlog/bin-log

預設日誌檔案在mysql安裝目錄下的var目錄下

 

binlog-do-db=mydata # 需要同步的資料庫  預設都同步

#binlog-ignore-db= # 需要忽略的資料庫  預設不忽略任何資料庫

啟動mysql服務 /etc/init.d/mysql start

如果使用了預設的二進位制日誌配置 需要將原始日誌檔案刪除後再啟動mysql服務,啟動後可以檢視二進位制日誌目錄下是否生成新檔案,如果已經生成日誌檔案說明配置是正確的

 

配置從伺服器

server-id = 2

#replicate-do-db=mydata   可選  默認同步所有的資料庫

啟動mysql服務  /etc/init.d/mysql start

進入mysql命令 行執行命令

change master to master_host=' 主 服務 器 地 址 ', master_user=' 用 戶名 ',

master_password=' 密碼 ',

master_port= 埠號 ,MASTER_CONNECT_RETRY=10;

例如 :

change master to master_host='192.168.8.113',master_user='test1',master_password='123456',master_port=3306,master_connect_retry=10;

再執行 start slave;

在從伺服器輸入命令

show slave status\G;

檢視狀態 :

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.16.6

Master_User: slave

Master_Port: 3306

Connect_Retry: 10

Master_Log_File: binlog.000002

Read_Master_Log_Pos: 903

Relay_Log_File: relaylog.000004

.........

在主伺服器上建立資料庫資料表後檢視從伺服器 , 看是否配置成功

撤銷配置 :

進入命令列執行 stop slave; 再執行 reset slave; 即可 .

 

如果報uuid錯誤可以在/usr/local/mysql/var/auto.cnf把uuid隨便改一下(重啟即可)