一、系統環境html
系統 | IP | 主機名 | 說明 | server_id |
---|---|---|---|---|
centos6.7 | 192.168.0.173 | master | 數據庫:主 | 173 |
centos6.7 | 192.168.0.174 | slave | 數據庫:從 | 174 |
二、管理帳號mysql
linux服務器帳號/密碼 | 數據庫管理員帳號密碼 | 主從複製帳號 |
---|---|---|
root/zxfly | zxfly/zxfly | zxfly_slave/zxfly |
三、檢查mysql環境需求linux
mysql安裝:http://www.cnblogs.com/feiren/p/7697767.html
sql
1)主庫須要開啓binlog參數數據庫
#主庫上查看
cat /etc/my.cnf|grep 'log_bin'
log_bin=mysql_bincentos
2)確保服務器的server_id的值惟一服務器
#MySQL-master
cat /etc/my.cnf|grep 'server-id'
server-id=173
#MySQL-slave
cat /etc/my.cnf|grep 'server-id'
server-id=173ide
3)確保服務器正常運行測試
#監測方法有
ps -ef|grep mysql
ss -lntup|grep 3306
service mysqld statusspa
登陸mysql以root用戶登陸:
mysql -uroot -pup366.com
一、添加並受權主從複製帳號
mysql>grant replication slave on *.* to 'zxfly_slave'@'192.168.0.%' identified by 'zxfly';
mysql>flush privileges;
二、查看數據庫當前的位置點信息
#查看到的位置點要記錄,下面會用到
mysql>show master status;
##若是主從不是新部署的環境,請執行如下操做。不然跳過
三、全備數據庫
mysqldump -uroot -pzxfly -A -B -R --master-data=2 --events --single-transaction >/root/all.sql
四、將全備發送到從庫
scp /root/all.sql 192.168.0.174:/root/
#主從非新部署環境請執行步驟1的操做,不然跳過。
一、導入全備,將主庫的全備導入從庫的數據庫中。
mysql –uroot –pzxfly </root/all.sql
二、登錄從庫的數據庫執行同步信息的帳號位置點的錄入
change master to
master_host='192.168.0.173', #主庫所在主機IP
master_port=3306, #主庫端口
master_user='zxfly_slave', #受權的同步帳號
master_password='zxfly', #受權帳號的密碼
MASTER_LOG_FILE='mysql_bin.000001', #在主庫上查看的最新的binlog
MASTER_LOG_POS=120; #在主庫上查看的最新的位置點
三、開始同步
mysql>start slave;
一、從庫執行
mysql -uroot -p -e "show slave status\G"|egrep 'Slave_IO_Running:|Slave_SQL_Running:'
#過濾出來若是是兩個yes及爲同步成功
二、能夠對主庫進行測試,主要爲增刪改操做看從庫是否同步。
三、報錯信息一覽
錯誤代碼:
2003 #檢查主從複製帳號是否輸入錯誤,防火牆是否容許經過
1045 #查看帳號權限是否正常
1236 #查看binlog位置點是否錯誤,binlog日誌名字是否錯誤