zoukankan      html  css  js  c++  java
  • Mysql Replication配置

    使用场景:mysql的实时备份或者读写分离。

    环境:

    vmware虚拟机,并且安装了linux系统(我用的是centos7),linux上安装了mysql

    第一台mysql安装好了之后,将当前linux系统克隆一份。

    我的两个linux系统的IP地址分别是128,129;

    128为master,129为slave;

    两台服务器上的mysql配置当前完全一样。

    克隆过来之后,需要把另一个mysql的(/ect/my.cnf)server_id改掉。

    这里我把128上的mysql的server_id改成128;

    129机子上的mysql的server_id改成129;

    修改好配置文件后,启动两台机子上的mysql

    启动:

    /etc/init.d/mysqld start

    重启:

    /etc/init.d/mysqld restart

    锁定master

    flush tables with read lock;

    查看master状态

    show master status

     

    记住这个信息,后面配置slave信息的时候,会用到;

    配置slave

     登录129服务器的mysql

    mysql -uroot -pgys

    关闭slave

    给slave配置master

    这里的master_log_file='guoyansi128.000004',master_log_pos=120;就是前面maste的status

    开启slave

    回到master上 释放被锁的表:

    mysql -uroot -pgys -e "unlock tables"

    查看slave状态

    只要 slave_io _running和slave_sql_running都是yes表示 主备关系已经建好了;

    现在在master上建表,并且添加数据,查看slave上的数据库是否会跟着变;

    这种主从配置看上去非常简单;但是这个机制非常脆弱,一旦我们不小心在slave上写了数据,那么主从复制也就被破坏了。

    另外重启master,务必先关闭slave,即在slave上执行slave stop命令,然后重启master的mysql服务,否则主从复制就有可能会被中断。

    当然重启了master后,我们还需要执行start slave命令来开启主从复制。

  • 相关阅读:
    string.Format组合跳转路径
    jquery 设置asp:dropdownlist 选中项
    asp:UpdatePanel中js失效问题已解决
    repeater 一个td多个div显示图片
    aps.net js获取服务器控件
    nfs—文件转换器
    Linux之文件权限
    关于Linux与Windows的在服务器的一些区别
    关于Linux目录结构的理解
    新的旅程
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/9885927.html
Copyright © 2011-2022 走看看