您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關mysql 集群配置是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
mysql 復制
主節點ip:192.168.56.2
從節點ip:192.168.56.3
1 雙節點添加同步賬戶并關閉數據庫:
節點 1
注意ip指定為從節點ip
[root@mysql1 home]# mysql -uroot -poracle
mysql> GRANT REPLICATION SLAVE ON *.* to 'syc'@'192.168.56.3' identified by 'syc';
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.33 sec)
mysql> exit
Bye
[root@mysql1 home]# /etc/init.d/mysql stop
Shutting down MySQL..[確定]
節點2
注意其中ip指定主節點ip
[root@mysql2 home]# mysql -uroot -poracle
mysql> GRANT REPLICATION SLAVE ON *.* to 'syc'@'192.168.56.2' identified by 'syc';
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.33 sec)
mysql> exit
Bye
[root@mysql2 home]# /etc/init.d/mysql stop
Shutting down MySQL..[確定]
2 修改my.cnf文件
節點1 my.cnf文件
[root@mysql1 home]# vi /etc/my.cnf
[client]
#客戶端字符集
default-character-set=utf8
socket = /home/mysql/mysql.sock
[mysqld]
socket = /home/mysql/mysql.sock
server-id=1
#開啟binlog
log-bin=mysql-bin
# 這個參數用來配置從服務器的更新是否寫入二進制日志,這個選項默認是不打開的,但是,如果這個從服務器B是服務器A的從服務器,
# 同時還作為服務器C的主服務器,那么就需要開發這個選項,這樣它的從服務器C才能獲得它的二進制日志進行同步操作
log-slave-updates
# 在復制過程中,由于各種的原因,從服務器可能會遇到執行BINLOG中的SQL出錯的情況,在默認情況下,服務器會停止復制進程,不再進行同步,等到用戶自行來處理。
slave-skip-errors=all
# 這個參數是對于MySQL系統來說是至關重要的,他不僅影響到Binlog對MySQL所帶來的性能損耗,而且還影響到MySQL中數據的完整性
sync_binlog=1
# 應設為整個結構中服務器的總數
auto-increment-increment = 2
# 設定數據庫中自動增長的起點,避免兩臺服務器數據同步時出現主鍵沖突
auto-increment-offset = 1
#字符集
character-set-server=utf8
#不區分大小寫
lower_case_table_names=1
[mysql]
#字符集
default-character-set=utf8
auto-rehash
節點2 my.cnf文件
[root@mysql2 home]# vi /etc/my.cnf
[client]
socket = /home/mysql/mysql.sock
#客戶端字符集
default-character-set=utf8
[mysqld]
server-id=2
socket = /home/mysql/mysql.sock
#字符集
character-set-server=utf8
#不區分大小寫
lower_case_table_names=1
#開啟binlog
log-bin=mysql-bin
# 這個參數用來配置從服務器的更新是否寫入二進制日志,這個選項默認是不打開的,但是,如果這個從服務器B是服務器A的從服務器,
# 同時還作為服務器C的主服務器,那么就需要開發這個選項,這樣它的從服務器C才能獲得它的二進制日志進行同步操作
log-slave-updates
#在復制過程中,由于各種的原因,從服務器可能會遇到執行BINLOG中的SQL出錯的情況,在默認情況下,服務器會停止復制進程,不再進行同步,等到用戶自行來處理。
slave-skip-errors=all
#這個參數是對于MySQL系統來說是至關重要的,他不僅影響到Binlog對MySQL所帶來的性能損耗,而且還影響到MySQL中數據的完整性
sync_binlog=1
# 應設為整個結構中服務器的總數
auto-increment-increment = 2
# 設定數據庫中自動增長的起點,避免兩臺服務器數據同步時出現主鍵沖突
auto-increment-offset = 1
[mysql]
#字符集
default-character-set=utf8
auto-rehash
3 啟動mysql數據庫
節點1
[root@mysql1 home]# /etc/init.d/mysql start
Starting MySQL..[確定]
節點2
[root@mysql2 home]# /etc/init.d/mysql start
Starting MySQL.[確定]
記錄binlog位置
節點1
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
節點2
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
4 啟動復制
主節點
mysql> stop slave;
mysql> change master to master_host='192.168.56.3',master_user='syc',master_password='syc',master_port=3306,master_log_file='mysql-bin.000002',master_log_pos=120;
mysql> start slave;
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.2
Master_User: syc
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 927
Relay_Log_File: mysql2-relay-bin.000002
Relay_Log_Pos: 793
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
從節點
mysql> stop slave;
mysql> change master to master_host='192.168.56.2',master_user='syc',master_password='syc',master_port=3306,master_log_file='mysql-bin.000003',master_log_pos=120;
mysql> start slave;
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.56.3
Master_User: syc
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 927
Relay_Log_File: mysql1-relay-bin.000002
Relay_Log_Pos: 580
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
測試:
主節點
mysql> create database bbbbb;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| aaaaa |
| bbbbb |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
從節點:
mysql> create database aaaaa;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| aaaaa |
| bbbbb |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
測試完成:
注意:
show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
這兩項必須是yes
如果出現以下問題:
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
需要查看是否創建用戶權限時出現問題或鏈接信息錯誤或賬號失效。
看完上述內容,你們對mysql 集群配置是怎樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。