美文网首页Coding
mysql 主从复制

mysql 主从复制

作者: 司夜_崔 | 来源:发表于2019-11-01 21:47 被阅读0次

    之前mysql安装已经写过,这里不再做重复工作。

    这里我准备了两台虚拟机(192.168.40.128:mini1 192.168.40.130:mini2),分别配置分别在此环境下创建账户mini1、mini2

    CREATE USER ‘username'@'localhost' IDENTIFIED BY ‘userpassword';

    创建好账户后,需要为账户赋予远程访问的权限

    权限修改完记得刷新。

    我们这里以192.168.40.130为从机,以192.168.40.128为主,分别修改他们的配置文件

    vi /etc/my.cnf 先加入log-bin=mysql-bin   #开启二进制日志配置

    这里的server_id两台机器必须不同,其他无所谓,binlog-do-db此项是需要同步的数据库,我这里配置就是需要同步test,两台机器配置需相同,还有一些其他配置,感兴趣的可以去查查,我这里只为演示列出最基本的4个,不影响环境搭建

    (注:两台机器需要同步的数据库中的表必须完全相同,不然会导致数据回滚,slave关闭运行,如果遇到可以查看数据回滚的报错信息来分析,如果数据添加失败可以通过“show slave status\G”命令查看到错误原因)

    两台机器环境都重启ok后,下一步需要在主机器上输入“show master status”命令来查看主及的二进制文件和position

     得到主机器的二进制文件名称和position后,去从机192.168.40.130停掉slave:

     成功停止slave后,就可以修改master的配置项了,其中master_host为主机的ip, master_user为可以登录主机的用户, master_password主机账号密码, master_log_file刚才在主机查到的二进制文件名, master_log_pos刚才在主机查到的position

    (切记:这里在从机上修改的master配置参数全是来自需要同步数据的主机,写错的话之后的Slave_IO_Running:就会显示NO)

    全部配置妥当后,启动slave

    start slave;

    启动好后,输入“show slave status\G”命令可以看到slave的相关状态,其中的Slave_IO_Running和Slave_SQL_Running必须都为yes,不然数据同步不会成功。

    一切显示正常了,这里做个测试,看是否可以同步数据成功:

    这里我在192.168.40.128上执行插入语句:

     在从机192.168.40.130上查询:

    可以看到数据已经从主机同步过来,表示主从复制已经成功。

    (注:如果想要实现主主复制,两台机器都可以实现插入同步,只要将以上操作反过来以192.168.40.130为主再执行一遍即可成功完成,不过主主的形式还是不建议使用,会降低效率!)

    相关文章

      网友评论

        本文标题:mysql 主从复制

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