首頁 >資料庫 >mysql教程 >實戰mysql集群搭建(二)-- 實作mysql資料庫主從複製

實戰mysql集群搭建(二)-- 實作mysql資料庫主從複製

黄舟
黄舟原創
2017-02-28 13:29:411657瀏覽

       繼上篇文章《實戰mysql叢集搭建(一)--centos7下二進位安裝mysql-5.6》之後,本文介紹的是主資料庫伺服器透過日誌檔案的形式,將資料備份到另一台伺服器,這樣實作資料庫主從複製,可實現資料的安全備份。

針對主函式庫操作:

#1. 開啟master上的log-bin功能:

 # vi /etc/my.cnf 
添加如下内容:        
 log_bin=mysql-bin        
server_id =1

2、重啟mysql

# /etc/init.d/mysqld restart

3、登陸mysql在master伺服器上建立帳戶,並授權slave功能

#
  #mysql –uroot –p
       mysql> grant replication slave on *.* to 'mysql'@'%' identified by 'mysql';
       mysql> flush priviliges;
       mysql> flush tables with read lock;

  當然,如果在此操作之前,主從資料庫都同時存在數據,則可以將資料庫進行整體備份,備份過程如下:

1、 將mysqldump指令加入/usr/bin

##ln - s /application/mysql/bin/mysqldump /usr/bin/

#2、使用mysqldump指令對master伺服器資料庫備份:



# mysqldump -uroot -p -A  --master-data=1 > /tmp/master_16-09-12.sql

3、備份完畢,恢復寫入操作:

# mysql> unlock tables;

對從庫操作






#1、停止slave同步作業

mysql> stop slave;

#2 、修改從庫的設定檔

# vi /etc/my.cnf       
log_bin=mysql-bin       
server_id = 2

3、將master_16-09-12.sql檔導入從庫

# mysql -uroot -p < master_16-09-12.sql

4、設定從伺服器slave

#

mysql> change master to        
master_host="主服务器IP",       
master_user="mysql",       
master_password="mysql";
5、啟動從伺服器slave

#

    mysql> start slave;
      mysql>quit;
      #/etc/init.d/mysqld restart

6、檢查slave伺服器狀態


#
mysql> show slave status\G;
######      出現如下內容則設定成功:######### #######                               ################## ####        ### master and slave have equal MySQL server UUIDs 解決方法 ##################   #####################   ####################### ###      ###這是因為在伺服器拷貝過程中將資料庫的整個data目錄同時也拷貝過來了,這樣裡面就存在了auto.cnf文件,該文件儲存著資料庫uuid,每個資料庫的uuid應該是不一樣的,修改該uuid即可。 ##################### 以上就是實戰mysql集群搭建(二)-- 實作mysql資料庫主從複製的內容,更多相關內容請關注PHP中文網(www.php.cn)! #####################
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn