mysql 集群配置是怎样的

发布时间:2021-10-25 16:19:54 作者:柒染
来源:亿速云 阅读:160

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

推荐阅读:
  1. MySQL是如何安装的
  2. MySQL数据库入门到高薪培训教程(从MySQL 5.7 到 MySQL 8.0)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:处理异步事件的方式有哪些

下一篇:怎么在Windows 10上使用蓝牙

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》