溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

搭建互為主從的MySQL服務(wù)器

發(fā)布時(shí)間:2020-07-24 07:56:19 來源:網(wǎng)絡(luò) 閱讀:301 作者:高鵬舉 欄目:MySQL數(shù)據(jù)庫

node1的IP地址:192.168.1.254
node2的IP地址:192.168.1.253
操作系統(tǒng)為RHEL7.3,MySQL版本為5.7.18
1、修改node1的MySQL配置文件
#注意server_id字段一定不能一樣,由于前面的配置server_id已經(jīng)配置,且其值唯一,所以此處不再進(jìn)行配置
修改node1的mysql配置文件
# 服務(wù)器的ID,必須唯一,一般設(shè)置自己的IP
server_id=254
# 復(fù)制過濾:不需要備份的數(shù)據(jù)庫(MySQL庫一般不同步)
binlog-ignore-db=mysql
# 開啟二進(jìn)制日志功能,名字可以隨便取,最好有含義(比如項(xiàng)目名)
log-bin=lamp-mysql-bin
# 為每個(gè) session 分配的內(nèi)存,在事務(wù)過程中用來存儲(chǔ)二進(jìn)制日志的緩存
binlog_cache_size=1M
# 主從復(fù)制的格式(mixed,statement,row,默認(rèn)格式是 statement)
binlog_format=mixed
# 二進(jìn)制日志自動(dòng)刪除/過期的天數(shù)。默認(rèn)值為 0,表示不自動(dòng)刪除。
expire_logs_days=7
## 跳過主從復(fù)制中遇到的所有錯(cuò)誤或指定類型的錯(cuò)誤,避免 slave 端復(fù)制中斷。
## 如:1062 錯(cuò)誤是指一些主鍵重復(fù),1032 錯(cuò)誤是因?yàn)橹鲝臄?shù)據(jù)庫數(shù)據(jù)不一致
slave_skip_errors=1062
# 作為從服務(wù)器時(shí)的中繼日志
relay_log=lamp-mysql-relay-bin
# log_slave_updates 表示 slave 將復(fù)制事件寫進(jìn)自己的二進(jìn)制日志
log_slave_updates=1
# 主鍵自增規(guī)則,避免主從同步ID重復(fù)的問題
auto_increment_increment=2  # 自增因子(根據(jù)MySQL服務(wù)器數(shù)量修改,本例中是2臺(tái)MySQL服務(wù)器)
auto_increment_offset=1     # 自增偏移(從1開始)


2、修改node2的MySQL配置文件
# 復(fù)制過濾:不需要備份的數(shù)據(jù)庫(MySQL庫一般不同步)
binlog-ignore-db=mysql
# 開啟二進(jìn)制日志功能,名字可以隨便取,最好有含義(比如項(xiàng)目名)
log-bin=lamp-mysql-bin
# 為每個(gè) session 分配的內(nèi)存,在事務(wù)過程中用來存儲(chǔ)二進(jìn)制日志的緩存
binlog_cache_size=1M
# 主從復(fù)制的格式(mixed,statement,row,默認(rèn)格式是 statement)
binlog_format=mixed
# 二進(jìn)制日志自動(dòng)刪除/過期的天數(shù)。默認(rèn)值為 0,表示不自動(dòng)刪除。
expire_logs_days=7
## 跳過主從復(fù)制中遇到的所有錯(cuò)誤或指定類型的錯(cuò)誤,避免 slave 端復(fù)制中斷。
## 如:1062 錯(cuò)誤是指一些主鍵重復(fù),1032 錯(cuò)誤是因?yàn)橹鲝臄?shù)據(jù)庫數(shù)據(jù)不一致
slave_skip_errors=1062
# 作為從服務(wù)器時(shí)的中繼日志
relay_log=lamp-mysql-relay-bin
# log_slave_updates 表示 slave 將復(fù)制事件寫進(jìn)自己的二進(jìn)制日志
log_slave_updates=1
# 主鍵自增規(guī)則,避免主從同步ID重復(fù)的問題
auto_increment_increment=2  # 自增因子(根據(jù)MySQL服務(wù)器數(shù)量修改,本例中是2臺(tái)MySQL服務(wù)器)
auto_increment_offset=2     # 自增偏移(從2開始)

3、分別在node1和node2上重啟MySQL服務(wù)
在node1上重啟MySQL服務(wù)
[root@node1 ~]# systemctl restart mysqld
在node2上重啟MySQL服務(wù)
[root@node2 ~]# systemctl restart mysqld

4、在node1上進(jìn)入MySQL數(shù)據(jù)庫,且配置允許從node2同步的賬號(hào)
[root@node1 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant replication slave, replication client on *.* to 'repl'@'192.168.1.253' identified by 'repl@123';
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)

5、在node1上查看并記錄binlog文件的position和File的值,配置從機(jī)時(shí)會(huì)用到
mysql> show master status;
+-----------------------+----------+--------------+------------------+-------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------------+----------+--------------+------------------+-------------------+
| lamp-mysql-bin.000001 |      631 |              | mysql            |                   |
+-----------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql>

6、在node2上將node1作為自己的主服務(wù)器,并且開啟slave狀態(tài)。
mysql> change master to master_host='192.168.1.254',master_user='repl', master_password='repl@123', master_port=3306, master_log_file='lamp-mysql-bin.000001', master_log_pos=631, master_connect_retry=30;
mysql> start slave;

7、在node2上查看自己的slave狀態(tài)。
mysql> show slave status\G;

             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        以上兩個(gè)參數(shù)要全部是Yes狀態(tài)


8、在node2上創(chuàng)建允許從node1同步的賬號(hào)
[root@node2 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant replication slave, replication client on *.* to 'repl'@'192.168.1.254' identified by 'repl@123';
mysql> flush privileges;


9、在node2上查看并記錄binlog文件的position和File的值。
mysql> show master status;
+-----------------------+----------+--------------+------------------+-------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------------+----------+--------------+------------------+-------------------+
| lamp-mysql-bin.000001 |      474 |              | mysql            |                   |
+-----------------------+----------+--------------+------------------+-------------------+


10、在node1上將node2作為自己的主服務(wù)器,并且開啟slave狀態(tài)。
mysql> change master to master_host='192.168.1.253',master_user='repl', master_password='repl@123', master_port=3306, master_log_file='lamp-mysql-bin.000001', master_log_pos=474, master_connect_retry=30;
mysql> start slave;

11、在node1上查看自己的slave狀態(tài)。
mysql> show slave status\G;

             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        以上兩個(gè)參數(shù)要全部是Yes狀態(tài)



12、在node1或node2任意一臺(tái)數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫,會(huì)自動(dòng)同步到另外一臺(tái)數(shù)據(jù)庫
mysql> create database netser;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| netser             |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.09 sec)

在另外一個(gè)節(jié)點(diǎn),查看數(shù)據(jù)庫,會(huì)看到完全一致的數(shù)據(jù)信息
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| netser             |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.06 sec)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI