美文网首页
7,mysql主从复制

7,mysql主从复制

作者: A孑木 | 来源:发表于2020-06-02 20:41 被阅读0次

准备:版本一致的两个数据库
主数据库:192.168.3.33
从数据库:192.168.3.34


一、主数据库master修改

a,修改配置文件 my.cnf

[mysqld]

log-bin=mysql-bin    #开启二进制日志

server-id=1    #设置唯一 server-id

b,重启mysql,创建用于同步的账户

登入mysql,

创建用户slaveuser,密码slavepass

mysql>grant replication slave on *.* to 'slaveuser'@'%' identified by 'slavepass';

mysql>flush privileges;    #刷新权限

c,查看master状态,记录二进制文件名和位置<File | Position>:

mysql>show master status;

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      1197 |              |                  |                  |

+------------------+----------+--------------+------------------+-------------------+

注:执行完这个步骤后不要再操作主数据库了,防止主数据库状态值变化

二、从数据库修改

a,修改配置文件 my.cnf

[mysqld]

server-id=2    #设置唯一 server-id

b,执行同步命令

mysql>change master to master_host='192.168.3.33',master_user='slaveuser',master_password='slavepass',master_log_file='mysql-bin.000001',master_log_pos=1197;    # 执行同步命令,设置主数据库ip,同步帐号密码,同步位置

mysql>start slave;    # 开启同步功能

c,检查从数据库状态

mysql> show slave status\G;

*************************** 1\. row ***************************
              Slave_IO_State: Connecting to master
                  Master_Host: 192.168.3.33
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 1197
              Relay_Log_File: localhost-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000001
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
……

其他可能用到的相关参数

1、master端 my.cnf:

# 不同步哪些数据库
binlog-ignore-db = mysql
# 只同步哪些数据库
binlog-do-db = game
# 日志格式,建议mixed
# statement 保存SQL语句
# row 保存影响记录数据
# mixed 前面两种的结合
binlog_format = mixed
# 日志保留时间
expire_logs_days = 10
# 控制binlog的写入频率。每执行多少次事务写入一次
# 这个参数性能消耗很大,但可减小MySQL崩溃造成的损失
sync_binlog = 5

2、slave端:

# 开启主从同步
mysql> start slave;
# 停止主从同步
mysql> stop slave;
# 连接断开时,重新连接超时时间
mysql> change master to master_connect_retry=50;

参考资料:
MySQL数据库设置主从同步
MySQL 主从复制详解(详细)

相关文章

网友评论

      本文标题:7,mysql主从复制

      本文链接:https://www.haomeiwen.com/subject/mtbpzhtx.html