mysql主从复制

3 篇文章 0 订阅

mysql主从复制
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:
这里我用的 5.7.13
1、主从服务器分别作以下操作:
1.1、版本一致
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码

2、修改主服务器master:

#vi /etc/my.cnf
       [mysqld]
          log-bin=   /var/lib/mysql/bin.logs/mysql_bin.log//[必须]启用二进制日志, 这里日志名和目录自己定义
          server-id=1 //[必须]服务器唯一ID
          binlog-do-db=dbname 这里写自己的主库名字

这里写图片描述
3、修改从服务器slave:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[不是必须]启用二进制日志
server-id=100 //[必须]服务器唯一ID,跟master服务器需要区分, 不能一致

4、重启两台服务器的mysql
/etc/init.d/mysql restart

5、在主服务器上建立帐户并授权slave:
这个账号是专门为我们主从服务的账号

create user 'slaveuser'@'%' IDENTIFIED by 'Aa_123@#';
 % 代表任何IP ,当然你也可以设置 一个IP
 slaveuser 就是根据你的口味设置一个用户名。
GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY  'Aa_123@#';
这个用户 专门用户读取 主服务器的二进制文件。仅此而已,到时候扔给我们的从服务器配置使用

6、登录主服务器的mysql,查询master的状态

  mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File  | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  
   1 row in set (0.00 sec)

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

7、配置从服务器Slave:
继续打开从服务器执行如下命令
change master to master_host=’192.168.1.107’, master_user=’slaveuser’,master_password=’Aa_123@#’;
start slave

8、检查从服务器复制功能状态:

mysql> show slave status\G

              Slave_IO_State: Waiting for master to send event
              Master_Host: xxx  //主服务器地址
              Master_User: xxxx//授权帐户名,尽量避免使用root
              Master_Port: 3306    //数据库端口,部分版本没有此行
              Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
              Read_Master_Log_Pos: 600     //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
              Relay_Log_File: ddte-relay-bin.000003
              Relay_Log_Pos: 251
              Relay_Master_Log_File: mysql-bin.000004
              Slave_IO_Running: Yes    //此状态必须YES
              Slave_SQL_Running: Yes     //此状态必须YES
                ......

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

以上操作过程,主从服务器配置完成。

9、主从服务器测试:

主服务器Mysql,建立数据库,并在这个库中建表插入一条数据,查看从服务器是否同步, 如果出错, 查看mysql错误日志文件

10、完成:
编写一shell脚本,用nagios监控slave的两个yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值