mysql主從配置

來源:互聯網
上載者:User

標籤:slave   create   max   star   inf   running   general   sql_mode   二進位   

MySQL主從配置主伺服器設定

1.首先建立一個從伺服器可以串連的使用者,並授予許可權(一般只需要讀的許可權就夠了)

# mysql -u root -p# 允許本地 IP 訪問 localhost, 127.0.0.1# insert into mysql.user(Host,User,Password) values(‘localhost‘,‘zhouz‘,password(‘1234‘));# 允許外網 IP 訪問# insert into mysql.user(Host,User,Password) values(‘%‘,‘zhouz‘,password(‘1234‘));# 重新整理授權# flush privileges;# 建立資料庫# create database cmdb_v2 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;# 授予使用者通過外網IP對於該資料庫的全部許可權# grant all privileges on `zhouzdb`.* to ‘zhouz‘@‘%‘ identified by ‘1234‘;# 授予使用者在本機伺服器對該資料庫的全部許可權# grant all privileges on `cmdb_v2`.* to ‘zhouz‘@‘%‘ identified by ‘1234‘;# 重新整理許可權# flush privileges;

2.找到主要資料庫的設定檔my.cnf(或者my.ini),我的在/data/mysql56/my.cnf,添加如下兩行

log_bin = mysql_bin #開啟二進位日誌server_id = 1 #設定server-id

如果沒有找到設定檔

查看mysql預設讀取my.cnf的目錄

如果沒有設定使用指定目錄的my.cnf,mysql啟動時會讀取安裝目錄根目錄及預設目錄下的my.cnf檔案。

/etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 這些就是mysql預設會搜尋my.cnf的目錄,順序排前的優先。 如果這些目錄下面都沒有,就自己建立一個,或者從別的地方複製一個

命令mysql --help|grep ‘my.cnf‘輸出                      order of preference, my.cnf, $MYSQL_TCP_PORT,/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

這是我的my.cnf全部內容

# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html[mysqld]log_bin = mysql_bin #開啟二進位日誌server_id = 1 #設定server-idmax_allowed_packet = 20Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

3.重啟mysql,然後查看主伺服器二進位檔案名與位置

File就是二進位檔案名

position就是位置

到此為止,我們需要配置主從,主這邊所需要的所有東西都拿到了

這個時候

分別的伺服器ip,mysql的帳號和密碼,主伺服器的二進位檔案名和位置

從伺服器設定

1.同樣找到從伺服器的設定檔,只需要添加server_id 一行就行了

server_id = 2 #設定server-id,這裡的id不能和主的一樣

2.重啟伺服器,進入mysql,執行下面的語句,等號後面後換成我們從伺服器拿到的資料

CHANGE MASTER TOMASTER_HOST=‘113.111.111.111‘,MASTER_USER=‘root‘,MASTER_PASSWORD=‘root‘,MASTER_LOG_FILE=‘mysql_bin.000001‘,MASTER_LOG_POS=442414;

3.如果沒有錯誤,我們的主從就搭建完成了

4.我們執行start slave;開啟主從

start slave;

5.執行 SHOW SLAVE STATUS\G可以查看主從是否運行正常

,兩個必須都為yes才算正常,這時可以隨便更改下主mysql的資料,不錯意外,從伺服器應該會自動同步過來了

 SHOW SLAVE STATUS\G
注意事項

1.當配置完成Slave_IO_Running、Slave_SQL_Running不全為YES時,show slave status\G資訊中有錯誤提示,可根據錯誤提示進行更正。

2.Slave_IO_Running、Slave_SQL_Running不全為YES時,大多數問題都是資料不統一導致。

3.兩台資料庫都存在db資料庫,而第一台MySQL db中有tab1,第二台MySQL db中沒有tab1,那肯定不能成功。

4.已經擷取了資料的二進位日誌名和位置,又進行了資料操作,導致POS發生變更。在配置CHANGE MASTER時還是用到之前的POS。

5.stop slave後,資料變更,再start slave。出錯。更正方法重新執行一遍CHANGE MASTER就好了。

mysql主從配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.