美文网首页
Mysql主从搭建

Mysql主从搭建

作者: 心水Diana | 来源:发表于2018-12-03 16:15 被阅读0次
Mysql 主从搭建
  • MYSQL主从复制环境构建至少需2台服务器,可以配置1主多从,多主多从等

主从版本尽量一致,避免出现未知bug。
如何安装不在阐述,MySQL安装参考


  • master:修改配置文件
# 编辑配置文件
vim /etc/my.cnf 
# 修改id 同一环境下不能有重复,用于身份标识
server-id = 1
# 打开二进制日志
log-bin = mysql-bin
  • 进入MySQL执行命令
# 授予slave远程连接的权限
grant  replication  slave  on  *.*  to  'slave'@'%'  identified by  '123456';
#刷新权限
flush privileges;

  • slave: 配置

slave 不需要开启二进制日志

# 进入MySQL shell 界面
change master to 
master_host='192.168.1.115',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=297;
# 开启
slave  start;
# 查看状态
show  slave  status\G
-----------------------------------------------
#参数:
    master_host: master主机ip
    master_user:master授权账户
    master_password:master授权账户密码
    master_log_file:master主机 bin-log文件名
    master_log_pos:同步开始节点
  • show slave status
mysql> show slave status \G;
*************************** 1. row ***************************
               #I/O线程连接Master状态
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.8.30.124
                  Master_User: tongbu
                  Master_Port: 3306
                  #主从连接失败,重试时间间隔;
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
              # I/O线程已读取的Master二进制日志文件的位置;
          Read_Master_Log_Pos: 2153
          #SQL线程读取和执行的中继日志文件的名称
               Relay_Log_File: localhost-relay-bin.000002
               #SQL线程已读取和执行的中继日志文件的位置
                Relay_Log_Pos: 2214
        Relay_Master_Log_File: mysql-bin.000003
        ######################################
        #  确认都是yes
             #I/O线程是否被启动并成功地连接到主服务
             Slave_IO_Running: Yes
             #SQL线程是否被启动
            Slave_SQL_Running: Yes
            #############################
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 2153
              Relay_Log_Space: 2374
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
     #lave端SQL线程和I/O线程之间的时间差距,单位为秒,常被用于主从延迟检查方法之一。
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
  • 配置完成
# master
创建数据,查看slave是否同步
create database mysql_ab_test charset=utf8;
  • 踩过的坑

    Access denied for user 'slave'@'localhost' (using password: YES)

    原因:身份验证不通过
    解决:确认账户权限无误,

    正常连接,数据未同步

    防火墙是否放行,setenforce关闭

相关文章

网友评论

      本文标题:Mysql主从搭建

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