您的位置:首頁技術文章
文章詳情頁

mysql主從復制配置過程

瀏覽:2日期:2023-10-11 17:40:56

主庫配置

1. 配置mysql

vim /etc/my.cn# 在文件中增加以下內容server-id=1 # 保證server id唯一log-bin = /var/lib/mysql/mysql-bin.logbinlog-do-db = db1 binlog-do-db = db2

其中db1和db2是計劃進行主從復制的庫,如果有多個,寫多行即可。配置完畢后,重啟數據庫: service mysqld restart

2. 添加復制用戶

通過phpmyadmin,添加新用戶,并授予REPLICATION SLAVE權限?;蛘咄ㄟ^root用戶登錄到mysql,賦予權限:

GRANT REPLICATION SLAVE ON *.* TO ’repl’@’%’ IDENTIFIED BY ’password’

其中repl是用戶名,password是該用戶的密碼。

3. dump數據

如果能夠保證不會產生新數據,就不需要對數據庫加鎖。如果不能保證,則需要對每一個dump數據的數據庫加鎖:

use db1;FLUSH TABLES WITH READ LOCK;

然后dump數據:

mysqldump -uroot -p db1 > db1.sql

如果有多個數據庫,則重復上述過程多次。

4. 查看二進制文件位置

使用root身份登錄mysql,查看master狀態:

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. 解鎖

如果導出數居前對數據庫加了讀鎖,則需要解除:

use db1;UNLOCK TABLES;

到此,主庫配置完畢。特別需要記住 show master status 輸出中的 file 和 position 的值。

從庫配置

1. 新建數據庫

首先在從庫上建立相同名稱的數據庫。

2. 配置從數據庫

vim /etc/my.cnf# 在my.cnf中增加以下內容:server-id = 2 # 保證id唯一relay-log = /var/lib/mysql/mysql-relay-bin.logreplicate-wild-do-table = db1.%replicate-wild-do-table = db2.%

如果同步多個數據庫,replicate-wild-do-table需要寫多行。配置好后,重啟數據庫。

3. 導入數據

將主服務器上dump出來的數據導入從服務器中:

mysql -uroot -p db1 < db1.sql

4. 配置主從同步

登錄到mysql服務器,配置同步的主服務器信息:

> 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。然后通過命令查看狀態:show slave status,如果成功的話slave_io_running和slave_sql_running兩項應該都是yes.

測試

在主庫上新增記錄或者添加表等操作,幾乎都能實時反映到從庫上。

以上就是mysql主從復制配置過程的詳細內容,更多關于mysql主從復制配置的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
国产综合久久一区二区三区