mysql 集群配置是怎样的

63次阅读
没有评论

共计 5218 个字符,预计需要花费 14 分钟才能阅读完成。

今天就跟大家聊聊有关 mysql 集群配置是怎样的,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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 集群配置是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计5218字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)