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

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

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

图片来自互联网

mysql做主从配置的更多相关文章

  1. 基于mysqld_multi实现MySQL多实例配置

    环境: 操作系统  CentOS7.5(已安装MySQL) 主机名    localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...

  2. MYSQL多实例配置方法 mysqld_multi方法

    在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi 1.修改my.cnf 如一个定义两个实例的参考配置: [mysqld_ ...

  3. MySQL 安装 + 精简 + 配置

    MySQL 安装 + 精简 + 配置 下载安装 从官网 下载 Community Edition MySQL 5.6 版本 精简 根目录下只留 [data/bin/share] , my-defaul ...

  4. Amoeba for MySQL读写分离配置

    一.      安装和运行Amoeba 1. Amoeba for MySQL 架构: 2. 验证Java的安装Amoeba框架是基于Java SE1.5开发的,建议使用Java SE1.5以上的版本 ...

  5. [mysql]brew 安装 配置 操作 mysql(中文问题)

    mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在stac ...

  6. 什么是blob,mysql blob大小配置介绍

    什么是blob,mysql blob大小配置介绍 作者: 字体:[增加 减小] 类型:转载   BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计 ...

  7. Openstack的HA解决方案【mysql集群配置】

    使用mysql的galera做多主集群配置,galera的集群优势网络上面有对比,这里不在叙述. 1. 新建3台虚拟机(centos6.5) node1:172.17.44.163 node2:172 ...

  8. MySQL双主配置

    MySQL双主配置 准备环境:服务器操作系统为RHEL6.4 x86_64,为最小化安装.主机A和主机B均关闭防火墙和SELINUX ,IP地址分别为192.168.131.129和192.168.1 ...

  9. MYSQL多实例配置与使用教程

    原文http://www.111cn.net/database/mysql/58651.htm 在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 ...

随机推荐

  1. Python全栈开发:Javascript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  2. Laravel Route Resource 方法

    新增的 resource 方法将遵从 RESTful 架构为用户资源生成路由.该方法接收两个参数,第一个参数为资源名称,第二个参数为控制器名称. Route::resource('users', 'U ...

  3. Java——包装类(Wrapper)

    2.7包装类(Wrapper) 基本数据类型由于不是类,不能够使用java类库里提供的大量的方法.所有在设计上,我们让每一个基本数据类型都对应一个类,同时数据存储的范围还不变.此时相当于基本数据类型就 ...

  4. Perl 循环

    Perl 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语 ...

  5. 【Codeforces Round #589 (Div. 2) D】Complete Tripartite

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 其实这道题感觉有点狗. 思路大概是这样 先让所有的点都在1集合中. 然后随便选一个点x,访问它的出度y 显然tag[y]=2 因为和他相连了嘛 ...

  6. Vue实现一个学生信息录入系统,实现录入和删除

    效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. 在Panel上绘图的实现

    近期制作了FDS的一个建模工具,由于知识有限,做出的效果是2D的.昨天上课的时候看老师画一个长方体,突然想到,为什么不给普通的2D图形加画上几条直线,就能实现2D图形的3D视觉效果呢?于是回来马上做了 ...

  8. NOIp2018集训test-9-17(pm)

    T1记忆(memory) 我大概是只记忆只有七秒的金鱼吧.看了下以前的代码发现真的很简单,但是考场上只打了个暴力,虽然骗了88pt.就是枚举选的是哪个串,然后vis[i]表示选了i这些位能不能猜出它, ...

  9. NX二次开发-UFUN已知两个向量方向求夹角角度UF_VEC3_angle_between

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> #include <uf_ ...

  10. hdu4126_hdu4756_求最小生成树的最佳替换边_Kruskal and Prim

    目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem:  Portal: hdu4126 hdu4756  原题目 ...