当前位置:   article > 正文

MySQL实现双主从架构配置_mysql 双主架构配置参数

mysql 双主架构配置参数

MySQL实现双主从架构配置

环境信息

服务器信息

IP简称
192.168.94.21server21
192.168.94.31server31

配置双主从架构

修改MySQL的配置,开启binlog

如果是新安装的高版本MySQL,默认情况下是没有生成/etc/my.cnf这个文件的,那我们就在etc目录下新增一个my.cnf的配置文件,配置文件参数的意义可以参见博客,这里就不再赘述了。

  1. server21新增my.cnf配置文件
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 特别注意这个server-id,两台MySQL的不能设置成一样的哦
server-id=1
bind-address=0.0.0.0
port=3306
# 数据库安装目录
basedir=/usr/local/mysql
# 数据文件存放目录
datadir=/data/mysqldata
# 字符编码集
character_set_server=utf8
lower_case_table_names=1
binlog-format=mixed
transaction_isolation=REPEATABLE-READ
auto-increment-increment=2 #步长为2
auto-increment-offset=1  #奇数增长(两台server的配置不能一样哦)
log-error=/usr/local/mysql/logs/err.log
log-bin=/data/mysqldata/mysql-bin
log-bin-index=/data/mysqldata/mysql-bin.index
log_slave_updates=1
slow_query_log=1
slow_query_log_file=/usr/local/mysql/logs/slow-queries.log
general_log=1
general_log_file=/usr/local/mysql/logs/general-log.log
expire_logs_days=7
max_binlog_size=1024M

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=128M
max_connections=1000
#skip-name_resolve
log_bin_trust_function_creators=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  1. server31新增my.cnf配置文件
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server-id=2
bind-address=0.0.0.0
port=3306
basedir=/usr/local/mysql
datadir=/data/mysqldata
character_set_server=utf8
lower_case_table_names=1
binlog-format=mixed
transaction_isolation=REPEATABLE-READ
auto-increment-increment=2 #步长为2
auto-increment-offset=2  #奇数增长
log-error=/usr/local/mysql/logs/err.log
log-bin=/data/mysqldata/mysql-bin
log-bin-index=/data/mysqldata/mysql-bin.index
log_slave_updates=1
slow_query_log=1
slow_query_log_file=/usr/local/mysql/logs/slow-queries.log
general_log=1
general_log_file=/usr/local/mysql/logs/general-log.log
expire_logs_days=7
max_binlog_size=1024M

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=128M
max_connections=1000
#skip-name_resolve
log_bin_trust_function_creators=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  1. 保存配置,然后重启MySQLservice mysqld restart

如果是新安装的MySQL,登录到MySQL控制台需要先修改密码
设置数据库root用户密码

set password for root@localhost=password('123456');
  • 1

配置MYSQL主从关系及开启主从同步

  1. 先登录到server21的MySQL控制台
    mysql –u root –p
  2. 创建主从同步账号,并锁定数据库表
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slave@'196.168.94.31' IDENTIFIED BY "slave";   #创建同步账号
FLUSH PRIVILEGES;    #权限修改立即生效
FLUSH TABLES WITH READ LOCK;    #锁定数据库为只读,确保备份数据一致性
  • 1
  • 2
  • 3
  1. 查看server21的master信息,记录下File和position两个参数的信息(建议查看两次,取最后一次的结果),在建立主从关系的时候用得上
    show master status;
    如下图所示:
    在这里插入图片描述
  2. 再开一个server31的ssh窗口,登录到MySQL控制台,输入以下命令建立server21和server31的主从同步关系
CHANGE MASTER TO MASTER_HOST='196.168.94.31', MASTER_PORT = 3306, MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1093;
  • 1
  1. server31上创建主从同步账号,并锁定数据库表
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slave@'196.168.94.21' IDENTIFIED BY "slave";   #创建同步账号
FLUSH PRIVILEGES;    #权限修改立即生效
FLUSH TABLES WITH READ LOCK;    #锁定数据库为只读,确保备份数据一致性
  • 1
  • 2
  • 3
  1. 查看server31的master信息参数,记录下File和position两个参数信息,参见第3步
    show master status;
  2. 切回到server21的MySQL控制台,执行以下命令建立主从同步关系
CHANGE MASTER TO MASTER_HOST='196.168.94.21', MASTER_PORT = 3306, MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=613;
  • 1
  1. 分别在两台server上执行命令,开始同步
    start slave;
  2. 执行命令show slave status\G查看同步状态信息,查看状态信息中的Slave_IO_Running和Slave_SQL_Running状态为YES即可,如图所示:
    在这里插入图片描述
  3. 执行解开对表的锁定
    unlock tables;
    至此,MySQL的双主从配置就完成了。可以分别在两台机器的数据库上新建表和新插入记录来测试,主从同步是否设置成功。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/964830
推荐阅读
相关标签
  

闽ICP备14008679号