標籤:port 資料 完成 show 登入 從伺服器 connect 錯誤 host
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 eventMaster_Host: 192.168.2.41Master_User: slaveMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000003Read_Master_Log_Pos: 56051Relay_Log_File: a13ecaa37c21-relay-bin.000002Relay_Log_Pos: 320Relay_Master_Log_File: mysql-bin.000003Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB:......
註:Slave_IO及Slave_SQL進程必須正常運行,即YES狀態,否則都是錯誤的狀態(如:其中一個NO均屬錯誤)。
主從伺服器配置完成。
Mysql主從配置(超級簡單)