配置master資料庫檔案
-
資料庫配置檔案
vim /etc/my.cnf #編輯資料庫配置檔案 server-id=1 #設定主伺服器id,必須唯一 #一定要確保主mysql的server-id 小於從mysql的server-id binlog-ignore-db=mysql,test#其他忽略的資料庫名 binlog-do-db=#需要備份的資料庫名,比如learnku log-bin=master-bin #指定一個日誌路徑,用於主從 log-bin-index=master-bin.index #指定mysql-bin.index檔案的路徑,用於主從 ###重啟Mysql###
-
新增從資料庫連線賬戶並配置許可權
#為了以後可擴充套件性,可以配置使用者名稱為類似slaver_1,2,3... #IP內網互通,配置內網 mysql -uroot -p mysql> CREATE USER 'slaver_1'@'127.0.0.2' IDENTIFIED BY 'password'; #IP內網互通,配置內網IP mysql> GRANT REPLICATION SLAVE ON learnku.* TO 'slaver_1'@'127.0.0.2'; #從賬戶分配許可權 mysql> flush privileges; #重新整理許可權
-
檢視主資料庫狀態,!!!記錄MYSQL-BIN POSITION
mysql> SHOW MASTER STATUS; +-------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------+----------+--------------+------------------+-------------------+ | master-bin.000001 | 154 | learnku | mysql,test | | +-------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
配置從資料庫配置檔案
-
配置從伺服器id,保證唯一
vim /etc/my.cnf [mysqld] server-id=2 #設定從伺服器id,必須唯一, 一定要大於主mysql的server-id relay-log-index=slave-relay-bin.index #定義relay-log-index的檔名 relay-log=slave-relay-bin#定義relay-log的檔名(預設儲存在資料目錄下) ###重啟Mysql###
-
配置從資料庫對映資訊
mysql> CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='slaver_1',MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000078', MASTER_LOG_POS=306; #MASTER_HOST 主伺服器IP,MASTER_USER 從伺服器USER,MASTER_PASSWORD 剛才配置的密碼, MASTER_LOG_FILE、 MASTER_LOG_POS,檢視主資料庫狀態時讓記錄的資訊
-
開啟同步
mysql> start slave;
-
檢視從資料庫狀態
mysql>show slave status\G #不帶分號
主伺服器建立資料庫檢視是否實現主從複製
-
建立資料庫test
mysql> create database test default charset utf8 collate utf8_general_ci;
-
檢視從資料庫狀態,是否實現主從複製
mysql> show databases;
備註
如果沒有配置成功
- 關閉從服務(stop slave;)
- 重複配置從資料庫的第二步,但是記得此時還要檢視主伺服器的資訊
- 重新開啟主從