1. 程式人生 > >Mysql主從配置(超級簡單)

Mysql主從配置(超級簡單)

配置 ges ide wait mas 建立 slave end event fec

1、準備(版本和數據保持一致):
主服務器 192.168.2.41(主)
從服務器 192.168.2.42(從)

2、修改主服務器master:

#vi my.cnf
[mysqld]
log-bin=mysql-bin  #[必須]啟用二進制日誌
server-id=41       #[必須]服務器唯一ID,默認是1,一般取IP最後一段

3、修改從服務器slave:

#vi my.cnf
[mysqld]
log-bin=mysql-bin  #[必須]啟用二進制日誌
server-id=42       #[必須]服務器唯一ID,默認是1,一般取IP最後一段

4、重啟兩臺服務器的mysql

/etc/init.d/mysql restart

5、在主服務器上建立帳戶並授權slave:

mysql> GRANT REPLICATION SLAVE ON *.* TO ‘slave‘@‘192.168.2.42‘ IDENTIFIED BY ‘12345678‘;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

註明:%表示所有客戶端都可能連,只要帳號,密碼正確,此處可用具體客戶端IP代替,如192.168.2
.42(從庫ip可以連接),加強安全。

6、登錄主服務器的mysql,查詢master的狀態

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003
| 56051 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.02 sec) 註:執行完此步驟後不要再操作主服務器MYSQL,防止主服務器狀態值變化

7、配置從服務器Slave:

mysql> change master to master_host=‘192.168.2.41‘,master_user=‘slave‘,master_password=‘12345678‘,master_log_file=‘mysql-bin.000003‘,master_log_pos=56051;
Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

8、檢查從服務器復制功能狀態:

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.2.41
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 56051
Relay_Log_File: a13ecaa37c21-relay-bin.000002
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
......

註:Slave_IO及Slave_SQL進程必須正常運行,即YES狀態,否則都是錯誤的狀態(如:其中一個NO均屬錯誤)。

主從服務器配置完成。

Mysql主從配置(超級簡單)