博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql做主从配置
阅读量:4974 次
发布时间:2019-06-12

本文共 1415 字,大约阅读时间需要 4 分钟。

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

  技术手段最好能记住,然后就是做笔记了,但是每次都查笔记也不好,希望能记住,这样知识才会变成自己的,这里总结了一下记忆点。

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

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

      

      log-bin=mysql-bin #要启用二进制日志

      server-id = 1
      binlog-do-db = lk_homepage #确定要操作的数据库

      

    改完要重启mysql,如果mysql重启失败,说明配置有问题

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

      File: mysql-bin.000035

      Position: 2093322
      Binlog_Do_DB: lk_homepage

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

      log-bin=mysql-bin #要启用二进制日志

      server-id = 2 #这个千万要和主的 server-id不一样才行
    重启mysql

 

  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操作,为此上网验证了下,大致是这样的原理

图片来自互联网

转载于:https://www.cnblogs.com/luckylihuizhou/p/6673717.html

你可能感兴趣的文章
Intellij Idea新建web项目(转)
查看>>
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
centos iptables
查看>>
unity3d 移动与旋转 2
查看>>
寻找二叉查找树中比指定值小的所有节点中最大的那个节点
查看>>
如何设置输入框达到只读效果
查看>>
RT3070 USB WIFI 在连接socket编程过程中问题总结
查看>>
MIS外汇平台荣获“2013年全球最佳STP外汇交易商”
查看>>
LeetCode 题解之Add Digits
查看>>
hdu1502 , Regular Words, dp,高精度加法
查看>>
SpringBoot在idea中的热部署配置
查看>>
MyEclipse连接SQL Server 2008数据库的操作方法
查看>>
JS验证图片格式和大小并预览
查看>>
laravel5.2 移植到新服务器上除了“/”路由 ,其它路由对应的页面显示报404错误(Object not found!)———新装的LAMP没有加载Rewrite模块...
查看>>
编写高质量代码--改善python程序的建议(六)
查看>>
windows xp 中的administrator帐户不在用户登录内怎么解决?
查看>>
接口和抽象类有什么区别
查看>>
Codeforces Round #206 (Div. 2)
查看>>
**p
查看>>
优先队列详解
查看>>