標籤:http sla replica 開啟 理解 nts 文章 file egrep
我的環境是利用了兩個資料庫執行個體,關於資料庫執行個體我的前幾篇文章寫了。下面這個只是參考作用,需要懂其原理才能理解下面配置,要不然會出錯,出錯可以私聊我。
1、開啟主庫bin-loglog-bin = /data/3306/mysql-bin2、確保server-id不一樣3、檢查一下,grep是顯示不出來的[[email protected] 3306]# egrep "log-bin|server-id" /data/3306/my.cnf [mysqld]log-bin = /data/3306/mysql-binserver-id = 14、查看log-bin是否開啟show variables like ‘log_bin‘;5、建立用於從庫複製的帳號rep,在主庫上授權grant replication slave on *.* to ‘rep‘@‘10.0.0.%‘ identified by ‘oldboy123‘;flush privileges;6、在主庫上做備份,下面是給主庫加個讀鎖,不讓使用者寫資料了,,,這個也可以不鎖,這個是官方給出的方案,也可以在mysqldump的時候加上-x自動鎖flush table with read lock;7、另開一個視窗,做備份,另外在備份之前查看一下檔案和位置mysql>show master status; 從此時的點開始備份,要記住,如果此時沒有看這個,那麼就在備份的時候加上master-data=1或者2,區別就是將來在change master to時要不要寫檔案和位置點,這個可以看上面的圖mysql>show master logs;mysqldump -uroot -p123 -S /data/3306/mysql.sock -A -B --events|gzip >/opt/rep.sql.gz 此處-A是所有資料,,-B是包含創庫語句8、解鎖unlock tables;9、將主庫備份出來的資料傳至從庫,然後匯入從庫mysql -uroot -p123 -S /data/3307/mysql.sock </opt/rep.sql10、登入從庫,寫入配置CHANGE MASTER TOMASTER_HOST=‘10.0.0.7‘,MASTER_POST=3306,MASTER_USER=‘rep‘,MASTER_PASSWORD=‘123‘,MASTER_LOG_FILE=‘mysql-bin.000003‘,MASTER_LOG_POS=333;在從庫的/data/3307的目錄下會存再master.info,儲存著登入主庫的相關資訊11、在從庫中開啟同步start slave;查看兩個線程是否工作show slave status\G
mysql主從複製