• mysql 主从复制


    之前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 statusG”命令查看到错误原因)

    两台机器环境都重启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 statusG”命令可以看到slave的相关状态,其中的Slave_IO_Running和Slave_SQL_Running必须都为yes,不然数据同步不会成功。

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

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

     在从机192.168.40.130上查询:

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

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

  • 相关阅读:
    如何使用websocket实现前后端通信
    影响MySQL的性能(一)磁盘的选择
    springboot结合日志门面SLF4j和日志实现Logback的使用
    分享一个猜数字小游戏的脚本
    关于drop table *** purge (drop后不过回收站)
    关于DateBase link(dbLINK)及同义词
    关于数据更新(update)
    关于insert into(插入值)
    关于wm_concat(把一列的值,通过','进行分隔后,合并成一个值进行显示)
    关于PIVOT(用于行转列)
  • 原文地址:https://www.cnblogs.com/cuijiale/p/8039421.html
Copyright © 2020-2023  润新知