美文网首页
2018-08-26 mysql 主从

2018-08-26 mysql 主从

作者: xstzhk | 来源:发表于2018-08-27 10:06 被阅读0次

    mysql 主从原理:两台机器通过IO线程,将master的binlog日志导入slave,slave通过自身的SQL线程,将binglog日志导入自身的数据库,实现主从同步。

    进入 mysql 配置文件 /etc/my.com 添加

    log-bin、server-id=1   将二进制文件位置打开

    gtid_mode=ON、enforce_gtid_consistency=1 开启自动寻找位置

    重启mysqld

    在mysql内创建测试用户

    grant  replication slave on *.* to 'rep'@'location'  identified by  'mysql密码';

    flush privileges;刷新

    退出。

    进行备份:mysqldump -p 'mysql密码' --all-databases  --single-transaction  --master-data=2  --flush-logs > `date +%F`-mysql-all.sql     (默认存放在/var/bin/mysql.log) 生成二进制文件并改名为当前时间。将其拷贝到另一台机器。

    切换到另一台机器

    同样进入配置文件添加那四行并重启。

    用创建的用户登陆mysql确定成功,使用root用户登陆mysql,

    set sql_log_bin=0;、source  二进制文件(记的带上路径)

    change master to

    master_host='主机IP(或解析后的名字)'、master_user='rep(也就是你复制出来的用户)'、

    master_password='复制用户时的密码'、master_auto_position=1;

    start slave (开启从服务)、show slave status\G;查看状态。一般来说这就可以了。IO、SQL两个都为YES。

    这只是一主一从,如果互为主从的话,在slave上重复以上步骤,不需要再拷贝二进制文件也不需要set和source。

    如果IO为ON或Connecting,那么你需要复制新的二进制文件。将master的mysql  stop,删除  /var/lib/mysql/  (默认存放二进制文件)内所有文件,然后start  mysql,mysqldump新的文件到slave。stop slave;start slave;show slave status\G

    如果SQL为ON

    这招就可以,亲身试验过。

    相关文章

      网友评论

          本文标题:2018-08-26 mysql 主从

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