mysql配置_mysql配置主从数据库

环境:mysql5.7

一、主库配置

  1. 开启二进制日志服务

    1. 新建日志文件夹

mkdir -p /var/log/mysql-bin//给mysql授权chown -R mysql:mysql /var/log/mysql-bin
    1. 开启二进制日志

//打开mysql配置文件my.cnfvi /etc/my.cnf   //可能由于mysql安装的方式不同配置文件的目录有所不同//在[mysqld]字段下增加以下内容server-id=1       //数据库的server-id 不能和从库相同log-bin=/var/log/mysql-binmysql-bin.log   //日志路径binlog_do_db=dbname      //开启二进制的数据库binlog_ignore_db=mysql   //不启动二进制日志的数据库
  1. 新建备份用户

链接数据库后执行以下sql语句

grant replication  slave on *.* to 'mysql_backup'@'%' identified by 'password';flush privileges;

从库配置

  1. 配置server-id

//首先查询是否有server-idshow variables like '%server_id%';如没有server-id且不是rds//修改my.cnf文件,在[mysqld]字段下增加server-id=2  //不能与主库相同没有server-id且是rds(该方法重启后失效,需重新设置server-id)//执行sqlset global server_id=2;
  1. 配置从库同步

    1. 备份主库数据

  • 需要在主库不会再改变数据的情况下进行操作(建议锁表)

将备份的主库数据导入从库

同时在主库执行show master status ;

记录File和Position字段

b507669784893d7a78ae0df001700016.png

    1. 配置同步设置

//从库添加主库同步信息change master to master_host='主库ip或者域名', master_port=3306, master_user='mysql_backup', master_password='password', master_log_file='日志文件', master_log_pos=111111;
    1. 启动从库备份

start slave ;
//查看备份状态show slave status ;Slave_SQL_Runing 和 Slave_IO_Runing都为YES即代表配置完成

特殊情况处理

  1. Slave_SQL_Runing为no

    1. 程序可能在slave上进行了写操作

    1. 也可能是slave机器重起后,事务回滚造成的.

  • 一般是事务回滚造成的:

  • 解决办法:

mysql> stop slave ;mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;mysql> start slave ;
  1. Slave_IO_Runing为no

    1. 分别查看主从服务器:

show master status;//主show slave status ;//从
    • 发现Master_Log_File没有对应。

    1. 出现Slave_IO_Running: No的机器上操作

slave stop; CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000026', MASTER_LOG_POS=0; slave start; show slave status\G
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值