mysql主从复制

know-more 2019-07-18 原文

mysql主从复制

背景:目前公司用的天翼云服务器,我在云服务器上安装了一个mysql5.7,服务器申请下来之前用的是公司的实体服务器,现在想把云服务器上的mysql做主数据库,公司实体数据库做从数据库。

参考资料:https://blog.51cto.com/mihuge/1269398

备注说明:这两个服务器用的都是window server 2008 r2,实体服务器用的是花生壳的内网穿透。

ip:云服务器:140.149.12.202(我乱写了一个);       本地实体服务器内网穿透后的路径:2a123445z1.qicp.vip:41023(花生壳自动分配的端口)

一:主数据库配置:

  找到my.ini文件,如果找不到,需要查看隐藏文件:

  打开文件夹选项:

  

  选中‘显示隐藏的文件、文件夹和驱动器’

  

  配置文件的路径为:C:/programData/MySQL/MySQL/MySQL Server 5.7/my.ini(实在找不到可以在地址栏数据%ProgramData%,然后按回车)

       

 

  在mysqld节点下面设置:

  server-id=1

  log-bin=mysql-bin

  binlog-do-db=xxxx(这里写你需要同步的数据库的名字)

  binlog-ignore-db = mysql(这里写不需要同步的数据库的名字)

  保存并重启mysql服务。

  创建新用户slave,密码slave,不建议使用root

  mysql>grant replication slave,reload,super on *.* to slave@2a123445z1.qicp.vip identified by ‘slave’;

  说明:最后的‘slave’是密码,‘@2a123445z1.qicp.vip’是mysql所在主机的ip,倒数第二个slave是你想创建的用户名

  

  特别说明:因为我这种情况是数据外网访问,所以我又增加了一步,给这个新创建的用户外网访问的权限,这个不会的可以自行百度,后期也会写mysql允许外网访问的博客。

  mysql>show master status;

  #记录File和Position的数值

   

 

 二、从数据库配置:

  同理找到mysql的配置文件my.ini

  

  

  #不需要同步的数据库名称,可不写,如果写了就要和Master上配置保持一致

  replicate-ignore-db = mysql

  保存,重启mysql服务.

  登陆数据库

  mysql>change master to master_host=’140.149.12.202′,master_user=’slave’,master_password=’slave’,master_log_file=’mysql-bin.000002′,master_log_pos=855;

  mysql> start slave;

  mysql> show slave status\G

  其中Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 两项都为Yes,说明配置成功.此时改动主库信息,从库会自动同步,可以自己测试下.

 

  这里要注意几点

  1.在mysql5.1以上版本中是不支持master设置的,如果添加了master设置,数据库就无法重启了.所以建议主库只需要指定server-id和log-bin即可,这样配置有一个好处就是你在从服务器配置的时候只要添加同步的数据库无需在配置主.

  2.一般错误都是都是File和Position的数值不一致.

  3.最好在dos下使用命令配置,最好不要使用一些图形的工具,如Navicat之类的工具.

  再次感谢:https://blog.51cto.com/mihuge/1269398

  

  

  

  

  

 

发表于 2019-07-18 09:15 水滴-石穿 阅读() 评论() 编辑 收藏

 

版权声明:本文为know-more原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/know-more/p/11202149.html

mysql主从复制的更多相关文章

  1. MySQL 命令行操作教程

    1.登录mysql [root@host]# mysql -u root -p Enter password: […]...

  2. MySQL数据库之触发器

    1 引言          本文是对MySQL中触发器的总结,从触发器概念出发,结合实例对创建触发器、使用触发 […]...

  3. MySQL分类表设计–根据ID删除全部子类

    MySQL分类表设计–根据ID删除全部子类 在做数据库分类表的时候,通常会有这样的设计:一个字段是 […]...

  4. mysql笔记–基础知识

    SQL基础 SQL语句的分类: DQL: 数据库查询语句,基本的就是select查询命令,用于查询数据 DML […]...

  5. 【MySQL】究竟什么是MVCC呢?

     MVCC是什么呢? MVCC其实就是一个多版本并发控制,即多个不同版本的数据实现并发控制的技术,其基本思想是 […]...

  6. mysql – 小数类型

    分类: 浮点数和定点数来表示小数 浮点类型有两种,分别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE […]...

  7. MySQL not exists 真的不走索引么?

    在一些业务场景中,会使用NOT EXISTS语句确保返回数据不存在于特定集合,部分同事会发现NOT EXIST […]...

  8. MySQL之SQL优化详解(三)

    目录 MySQL 之SQL优化详解(三) 1. 索引优化 2. 剖析报告:Show Profile MySQL […]...

随机推荐

  1. 2019CSP day1t1 格雷码

    题目描述 通常,人们习惯将所有 \(n\) 位二进制串按照字典序排列,例如所有 \(2\) 位二进制串按字典序 […]...

  2. 机器学习 斯坦福大学公开课(1)

    机器学习定义 Machine Learning definition Arthur Samuel (1959) […]...

  3. 远程唤醒WOL启动服务器或电脑

    1. 场景: 因为新型肺炎的原因,交通受阻,无法去公司上班,只能在家远程工作,但是放假前服务器全关掉了,现在也 […]...

  4. 【自编码】变分自编码大杂烩

    1.变分自编码          变分是数学上的概念,大致含义是寻求一个中间的函数,通过改变中间函数来查看目标 […]...

  5. Spring IoC bean 的加载

    前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本。因为 Spring 整个体 […]...

  6. 开源后台管理系统汇总

      开源后台系统直接拿来即用,方便快速进行后台项目的搭建   1.  yylAdmin   地址:https: […]...

  7. Linux常用命令 – wget命令详解(重点)

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www […]...

  8. C++中封装和继承的访问权限

    众所周知,C++面向对象的三大特性为:封装,继承和多态。下面我们就先对封装做一些简单的了解。封装是通过C++中 […]...

展开目录

目录导航