mysql作主从配置

  最近想对公司的数据库作个从数据库,除了天天定时备份外,再多出一个同步数据库,双保险,这样也能够用从数据库就行比较耗资源的数据统计。mysql

  技术手段最好能记住,而后就是作笔记了,可是每次都查笔记也很差,但愿能记住,这样知识才会变成本身的,这里总结了一下记忆点。sql

  1,要在主,从服务器上改mysql的数据库配置(肯定身份,这个好记)数据库

    a.改主服务器mysql配置,vim /etc/my.confvim

      

      log-bin=mysql-bin #要启用二进制日志
      server-id = 1
      binlog-do-db = lk_homepage #肯定要操做的数据库服务器

      

    改完要重启mysql,若是mysql重启失败,说明配置有问题日志

    进入mysql控制台,show master status\G,能够看到对应的状态,要记住是经过哪一个二进制日志进行同步,以及位置server

      File: mysql-bin.000035
      Position: 2093322
      Binlog_Do_DB: lk_homepage

blog

        b.改从服务器mysql配置,vim /etc/my.conf图片

      log-bin=mysql-bin #要启用二进制日志
      server-id = 2 #这个千万要和主的 server-id不同才行
    重启mysqlip

 

  2,在主服务器mysql里赋权限给从

    GRANT REPLICATION SLAVE ON *.* TO '用户名' @'对方主机ip' IDENTIFIED BY '密码'

    给slave一个操做权限,所谓同步,其实就是和认定的主机进行数据交互,固然要赋予目标权限。

  

      3,接下来就是 从服务器的更改了,进入从服务器mysql控制台运行

    change master to master_host='192.168.xxx.xxx',master_user='xxx',master_password='xxx',
         master_log_file='mysql-bin.000004',master_log_pos=308;

    其中这些参数应该和主服务器上的对应的设置匹配上才行。

    而后要 start slave,  若是前面已经运行了slave,要先 stop slave 一下。

       >>show slave status\G  

    能够看到slave转台,如下两行都为Yes才表示处于可同步状态,若是同步过程出了sql错误,清理掉sql出错后,从新同步,此时须要在前面的master_log_pos里修改成新的位置,再重新启动slave,而后看下两个是否变成了Yes

     Slave_IO_Running: Yes    //此状态必须YES
            Slave_SQL_Running: Yes     //此状态必须YES

    

  从以上能够看出,从服务器会去主服务器找对应的日志,从日志里找到要作的更改,而后同步到从服务器,从服务器再进行对应的sql操做,为此上网验证了下,大体是这样的原理

图片来自互联网

相关文章
相关标签/搜索