標籤:
環境:
Master:Centos 6.3 192.168.1.4
Slave:Centos 6.3 192.168.1.5
MySQL: MySQL-5.6.25
MySQL採用rpm安裝方式
安裝方式參照:http://www.cnblogs.com/xs104/p/4589041.html
配置主要資料庫:
安裝完成之後,會在/usr目錄下產生一個my.cnf檔案,修改設定檔並將之複製到/etc目錄下
[mysqld]server-id=1log-bin=mysqlmaster-bin.logsync_binlog=1#注意:下面這個參數需要修改為伺服器記憶體的70%左右innodb_buffer_pool_size = 512Minnodb_flush_log_at_trx_commit=1sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZEROlower_case_table_names=1log_bin_trust_function_creators=1
重啟mysql
配置從資料庫:
同樣修改/usr目錄下的my.cnf檔案,並將之複製到/etc目錄下
[mysqld]server-id=2log-bin=mysqlslave-bin.logsync_binlog=1#注意:下面這個參數需要修改為伺服器記憶體的70%左右innodb_buffer_pool_size=512Minnodb_flush_log_at_trx_commit=1sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZEROlower_case_table_names=1log_bin_trust_function_creators=1
重啟資料庫
在主要資料庫上建立賬戶用於主從之間資料複製
GRANT REPLICATION SLAVE ON *.* TO ‘使用者名稱‘@‘從資料庫地址‘ IDENTIFIED BY ‘密碼‘;
擷取主要資料庫的的二進位日誌座標
執行:
FLUSH TABLES WITH READ LOCK;
主要資料庫鎖表
執行:
SHOW MASTER STATUS;
會顯示主要資料庫的二進位日誌名稱和位置,記錄備用
主要資料庫解鎖:
UNLOCK TABLES;
給從資料庫設定複製的主要資料庫資訊
CHANGE MASTER TO MASTER_HOST=‘主要資料庫地址‘,MASTER_USER=‘剛才建立的使用者名稱‘,MASTER_PASSWORD=‘密碼‘,MASTER_LOG_FILE=‘二進位日誌名稱‘,MASTER_LOG_POS=座標;
啟動複製線程
START slave;
接著查詢資料庫的slave狀態:
SHOW slave STATUS \G
如果Slave_IO_Running和Slave_SQL_Running均為yes,那麼表示主從複製成功
遇到的問題
1.啟動mysql時候,提示ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
原因是my.cnf裡有錯誤,填寫正確參數即可
2.slave狀態找那個的Slave_IO_Running是connecting
Google之後,原因有三:
1、網路不通 (確定網路互連之後,可關閉防火牆,要是還不行可iptables -F(***這個慎用***))
2、密碼不對 確認賬戶密碼嘍
3、pos不對 確定主庫的二進位日誌名稱和目錄
MySQL主從複製(Centos6.3&MySQL5.6)