目的: 讓兩臺mysql服務(wù)器可以互為主從提供同步服務(wù). 優(yōu)點:
步驟:
GRANT REPLICATION SLAVE ON . TO 'slave'@'%' IDENTIFIED BY 'slave'; 為slave用戶賦予任何數(shù)據(jù)庫中任何表上的REPLICATION SLAVE權(quán)限, 此用戶可以在網(wǎng)絡(luò)任意位置訪問, 訪問時以密碼slave標(biāo)記. 當(dāng)使用的是ubuntu的時候, 需要注意一點, /etc/mysql/my.cnf配置文件下的bind-address = 127.0.0.1這一行需要注釋, 不然從機(jī)在請求時是連接不到的.(我的是ubuntu, 其他版linux不知道會不會一樣) 為了保證工作的步驟明細(xì), 可以采用在配置完用戶相關(guān)信息之后, 在另一臺機(jī)器上以分配的用戶密碼連接一次, 能成功則能保證當(dāng)前步驟是正確的.
編輯mysql配置文件, linux: /etc/mysql/my.cnf, windows: c:/program files/mysql/mysql 5.0/my.ini 找到[mysqld]這個標(biāo)簽, 在它的下面有兩行 #server-id = 1 打開這兩行的注釋, 注意這里的server-id是服務(wù)器編號, 所以, 兩臺服務(wù)器上的值要設(shè)置的不一樣. 比如1和2
sudo /etc/init.d/mysql restart 或者windows下在服務(wù)里重啟mysql服務(wù)
在mysql命令模式下: FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; 此時請保證執(zhí)行這兩條命令的mysql控制臺不要退出.
CHANGE MASTER TO MASTER_HOST = 'host', #另一臺機(jī)器的地址 MASTER_PORT = 3306, #另一臺機(jī)器的端口 MASTER_USER = 'slave',#另一臺機(jī)器上第一步分配的用戶名 MASTER_PASSWORD = 'slave', #另一臺機(jī)器上第一步分配的密碼 MASTER_LOG_FILE = 'mysql-bin.000001',#另一臺機(jī)器上執(zhí)行SHOW MASTER STATUS得到的文件名 MASTER_LOG_POS = 192; #另一臺機(jī)器上執(zhí)行SHOW MASTER STATUS得到的偏移量
START SLAVE;
SHOW SLAVE STATUS; 如果返回的結(jié)果第一列是Waiting for master to send event或者Queueing就說明配置是正確的, 當(dāng)然, 還可能會有其他的信息也是正確的, 只不過我這里沒有收集到...呵呵 如果有說的不合適的地方, 請拍磚. 來源:https://www./content-2-675651.html |
|