mysql主從復(fù)制配置過程
主庫配置
1. 配置mysql
vim /etc/my.cn# 在文件中增加以下內(nèi)容server-id=1 # 保證server id唯一log-bin = /var/lib/mysql/mysql-bin.logbinlog-do-db = db1 binlog-do-db = db2
其中db1和db2是計劃進(jìn)行主從復(fù)制的庫,如果有多個,寫多行即可。配置完畢后,重啟數(shù)據(jù)庫: service mysqld restart
2. 添加復(fù)制用戶
通過phpmyadmin,添加新用戶,并授予REPLICATION SLAVE權(quán)限。或者通過root用戶登錄到mysql,賦予權(quán)限:
GRANT REPLICATION SLAVE ON *.* TO ’repl’@’%’ IDENTIFIED BY ’password’
其中repl是用戶名,password是該用戶的密碼。
3. dump數(shù)據(jù)
如果能夠保證不會產(chǎn)生新數(shù)據(jù),就不需要對數(shù)據(jù)庫加鎖。如果不能保證,則需要對每一個dump數(shù)據(jù)的數(shù)據(jù)庫加鎖:
use db1;FLUSH TABLES WITH READ LOCK;
然后dump數(shù)據(jù):
mysqldump -uroot -p db1 > db1.sql
如果有多個數(shù)據(jù)庫,則重復(fù)上述過程多次。
4. 查看二進(jìn)制文件位置
使用root身份登錄mysql,查看master狀態(tài):
show master status;
該命令會有類似如下格式的輸出:
+-----------------+-----------+----------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-----------------+-----------+----------------+------------------+| mysql-bin.00002 | 445 | db1,db2 | |+-----------------+-----------+----------------+------------------+1 row in set (0.00 sec)
5. 解鎖
如果導(dǎo)出數(shù)居前對數(shù)據(jù)庫加了讀鎖,則需要解除:
use db1;UNLOCK TABLES;
到此,主庫配置完畢。特別需要記住 show master status 輸出中的 file 和 position 的值。
從庫配置
1. 新建數(shù)據(jù)庫
首先在從庫上建立相同名稱的數(shù)據(jù)庫。
2. 配置從數(shù)據(jù)庫
vim /etc/my.cnf# 在my.cnf中增加以下內(nèi)容:server-id = 2 # 保證id唯一relay-log = /var/lib/mysql/mysql-relay-bin.logreplicate-wild-do-table = db1.%replicate-wild-do-table = db2.%
如果同步多個數(shù)據(jù)庫,replicate-wild-do-table需要寫多行。配置好后,重啟數(shù)據(jù)庫。
3. 導(dǎo)入數(shù)據(jù)
將主服務(wù)器上dump出來的數(shù)據(jù)導(dǎo)入從服務(wù)器中:
mysql -uroot -p db1 < db1.sql
4. 配置主從同步
登錄到mysql服務(wù)器,配置同步的主服務(wù)器信息:
> change master to master_host=’xxx.xxx.xx.xx’,> master_user=’repl’,> master_password=’password’,> master_log_file=’mysql-bin.00000x’,> master_log_pos=xxxx;
配置好后啟動主從同步: start slave。然后通過命令查看狀態(tài):show slave status,如果成功的話slave_io_running和slave_sql_running兩項應(yīng)該都是yes.
測試
在主庫上新增記錄或者添加表等操作,幾乎都能實時反映到從庫上。
以上就是mysql主從復(fù)制配置過程的詳細(xì)內(nèi)容,更多關(guān)于mysql主從復(fù)制配置的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Windwos下MySQL 64位壓縮包的安裝方法學(xué)習(xí)記錄2. 使用SQL語句快速獲取SQL Server數(shù)據(jù)字典3. DB2 與 Microsoft SQL Server 2000 之間的 SQL 數(shù)據(jù)復(fù)制4. docker-compose基于MySQL8部署項目的實現(xiàn)5. MySql遠(yuǎn)程連接的實現(xiàn)方法6. Mysql入門系列:安排預(yù)防性的維護MYSQL數(shù)據(jù)庫服務(wù)器7. Windows下在DOS用mysql命令行導(dǎo)入.sql文件8. 簡單了解mysql語句書寫和執(zhí)行順序9. SQL2000管理SQL7服務(wù)器出現(xiàn)TIMEOUT問題的解決10. 超大型Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計方法
