mysql lsl_mysql 主从实现

主库:192.168.1.19

从库:192.168.1.20

开启db_test单库复制

常见问题

参考文档

主配置

以mysql root用户登录,用下面sql创建专门用于主从复制的mysql用户repl,并授权给从库20,密码是mysql

grant replication slave on *.* to 'repl'@'192.168.1.19' identified by 'mysql';

flush privileges;

再修改mysql配置文件,开启主库binlog输出

cd /opt/svr/mariadb5/etc

vi my.cnf

打开binlog某些配置项,即开启主库的写binlog配置,调整过的参数如下:

log-bin=/opt/dbdat/mariadb5_data3306/log/mysql-bin #binlog存放路径

log-bin-index=/opt/dbdat/mariadb5_data3306/log/mysql-bin.index

binlog-do-db = db_test #只开启db_test库的复制,其他库不复制

binlog-format=row #行模式复制

保存并重启mysql,查看下面目录已生成binlog文件:

/opt/dbdat/mariadb5_data3306/log/mysql-bin

mysql-bin.000001 mysql-bin.index

也可以通过下面sql查询主库复制状态

show master status;

从配置

连接主库

通过下面sql连接主库,注意其中的用户密码,以及binlog文件名、读binlog的位置(可通过上面show master status;sql查询master最新位置)

执行sql:change master to master_host='192.168.1.19', master_user='repl', master_password='mysql', master_log_file='mysql-bin.000001', master_log_pos=0;

开启slave复制

执行sql: slave start

查看slave状态

执行sql:show slave status \G;

查看slave配置参数

执行sql:show variables like "%slave%";

常见问题

slave不稳定,容易失效,经常要手工启动

测试过程中,需要先执行下面sql连接主库

slave stop;

change master to master_log_file='mysql-bin.000005', master_log_pos=83773;

slave start;

发现下面一些情况需要手工启动slave

在主库、备库drop某些表

当主库有某张表,但从库没有,通过java插入、查询该表时,也会造成slave停止

当master binlog postion与slave 读取的位置不一致时,要重新按照新的位置连接master,并重启slave

参考文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值