為什么要用mysql主從復制? 這個問題不需要回答吧,,,,,想想,一個人干活快呢,還是一萬個能性格功力一樣的人干活快呢. 不用解釋大家都懂. 那咱們就開始吧.

看到了吧. 一臺主的. n個從的. 一主多從,而不能一從多主.注意了哈. 那咱們就以 1從1主為例. 下面先配主機
1.主機配置,,, 主機ip地址是 103.212.32.135 進入服務器.編輯一下mysql的config信息. 比如
[Shell] 純文本查看 復制代碼
|
1
|
vi /usr/local/mysql/my.cnf |
然后修改以下幾個地址
找到[mysqld]節點 修改或是添加
[SQL] 純文本查看 復制代碼
|
1
2
3
4
5
6
|
#log-bin是指開啟二進制操作日志log-bin=mysql-log#serverid是指他的唯一id,可以理解為IP.所以說以ip的最后三位為id比較合適server-id=123#需要同步的庫. 不寫同步所有binlog-do-db = 需要同步的數據庫,多個用逗號隔開 |
重啟mysql.
2.添加一個同步用的用戶,注意,最好別用root
[SQL] 純文本查看 復制代碼
|
1
|
GRANT REPLICATION SLAVE ON *.* to '用戶'@'%' identified by '密碼'; |
這里的%是指所有主機都可以聯
重啟.到此為止.服務器的配置完成.太尼瑪簡單了是吧. 沒事習慣就好了. 沒毛病. 從3開始就是客戶端配置了.
3. 打開從機,比如本地的,也是接第1步的操作個性my.cnf的這兩個屬性,注意id別重復.
4.回到服務器,執行一下這條sql
[SQL] 純文本查看 復制代碼
|
1
|
show master status |
看到以下代碼說明正常.
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 308 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
5.重啟后,執行以下代碼
[SQL] 純文本查看 復制代碼
|
1
2
3
4
5
6
|
change master to master_host='103.212.32.135',master_user='用戶',master_password='密碼',master_log_file='mysql-bin.000001',master_log_pos=308;start slave; |
6.等待幾秒后從機執行
[SQL] 純文本查看 復制代碼
|
1
|
show slave status\G |
Slave_IO_State: Waiting for master to send event
Master_Host 主服務器地址
Master_User 授權帳戶名
.........
Slave_IO_Running: Yes //此狀態必須YES
Slave_SQL_Running: Yes //此狀態必須YES
.......
到此說明正常.
浙公網安備 33010602011771號