Mysql主從配置步驟與各類錯誤

測試環境:mysql

  2臺騰訊雲服務器。CentOS 7.2 64位,1G,lnmp。sql

  PHP:5.6;Mysql:5.5數據庫

  

  兩臺乾淨的服務器安全

 

下面開始配置主服務器(master)服務器

1.修改配置: ide

log-bin = mysql-bin 要打開,也就是把前面的#去掉。也有些配置默認就是打開的。測試

其實主服務器的不須要怎麼動,server-id = 1也行。IP尾號也行。rest

2.重啓服務:由於個人環境是lnmp。因此個人重啓命令能夠是:service mysql start  或者  service mysqld start  或者  lnmp restart  三個選其一。總有一個適合你。code

3.進入mysql:server

而後給從服務器配置一個能夠登陸的帳號:

命令:grant all on *.* to ‘帳號名’@’從服務器IP’ identified by ‘密碼’ 。例如:grant all on *.* to 'root'@'192.168.203.20' identified by 'repl'; 

接着這個命令:show master status;

獲得:

記住這兩個值。等會有用。

而後能夠查看一下當前的用戶。命令:SELECT user,host,password FROM mysql.user;

看吧,是否是多了一個。

/***************************************/

如今開始配置從數據庫

編輯從庫的my.cnf文件

只要這個值和主庫的不同,就沒有什麼問題。

接下來。仍是重啓服務。service mysql start  或者  service mysqld start  或者  lnmp restart  三個選其一。總有一個適合你。

而後給從數據庫一點配置:

  1. mysql> change master to  
  2. master_host=’192.168.203.68′,  // 這是主數據庫IP
  3. master_user=’jack’,  // 主數據庫時候配置的登陸名 
  4. master_password=’123456’,  //登陸密碼
  5. master_log_file=’mysql-bin.0000010′,   # 從哪一個bin-log開始同步   在主庫中show master status
  6. master_log_pos=106;  // 同上

 原本想寫乾淨點 爲了方便大家直接複製,後來想一想也沒什麼用,反正大家都是要改IP和帳號密碼的。

接着。執行這個命令start slave;

 

最後:show slave status \G 這行命令

千萬不要在後面跟;分號。

會影響結果的。

 

紅框兩個爲yes 時候。表示成功~

 

 

/*******************************/

報錯時候!!!!

1.若是MYSQL服務重啓一直報錯。那就是你的配置文件有問題。就是那個/etc/my.cnf的文件。

2.若是從服務器不能鏈接到主服務。首先判斷。防火牆關了沒。端口開了沒。安全組定義了沒。

  若是防火牆:就百度防火牆開關的命令。

  若是是端口:就是服務商那裏把端口全開了。服務商知道把,就是若是你的服務器是阿里。就去阿里的控制檯,若是的騰訊雲。就去騰訊雲的控制檯。

  若是是安全組:那就去服務商那裏找一個‘安全組’-》'入站規則'。

3.你也能夠測試一下是否可用鏈接主數據庫:直接敲命令:mysql -h主服務器IP -u用戶名 -p密碼。若是能連同。證實防火牆和端口和安全組都沒問題。

4. 最後有個坑爹的。在執行最後一個show slave status \G命令的時候。若是加了分號。就會有個報錯。有時候還會影響到這兩個的值

 5.差很少就是這樣了。若是還有其餘問題。歡迎補充探討

 

2017年10月22日23:20:07補充:

6.剛剛從新配的時候發現了一個錯誤。以爲很重要:

  在slave_IO_Running:connecting 的時候。能夠先退出來。鏈接一下遠程的數據庫。看能不能連。mysql -h主服務器ip -u剛剛主服務器設置的帳號 -p密碼

  若是能連。通常來講都是沒問題的。

  若是不能。那就在主服務器,關掉防火牆

(systemctl stop firewalld.service #中止firewall

systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running))而後重啓一下服務器。再去從服務器中。遠程鏈接主服務器的數據庫。一直到能鏈接上爲止。

還有個注意點:主服務器操做完最後一步。就不要操做了。否則會影響到Pos值。從服務器能夠清空一下bin-log文件:mysql > reset master;。

相關文章
相關標籤/搜索