为了实现读写分离,一般都需要先设置好mysql的主从结构,网上现有的mysql配置大都基于低版本,在5.5以上版本无法配置成功,所以参考了官方文档,写了这篇笔记。
*主要参考Mysql 5.6的官方文档文档
https://dev.mysql.com/doc/refman/5.6/en/replication-howto.html
 
备注:设置主从结构的情况下,在修改主库(master)数据的时候会自动同步修改到从库(slave)。
所以要求初始同步的时候数据一致,如果已有数据的情况下,
建议先备份主库数据,然后清空主库和从库数据,当主从结构设置完成后,再重新将数据导入到主库。
#如果要求线上系统不能停机的话,建议参考下面的文档进行不停机的数据同步。
https://dev.mysql.com/doc/refman/5.6/en/replication-howto-existingdata.html

下面是操作步骤,假设是两个空数据库,不需要做数据从主库(简称:master)到从库(简称:slave)的热同步
1.数据同步需要依赖bin格式的日志和每个服务器唯一的serever id,所以要在master机上做如下配置并重启(/etc/mysql/my.cnf,添加到[mysqld]部分)
log-bin=mysql-bin
server-id=1
log-bin=log
binlog-do-db=dbname#需要同步的数据库名
binlog-ignore-db=information_schema#忽略同步的数据库名
binlog-ignore-db=mysql#忽略同步的数据库名

2.Slave从库也需要设置server id,做如下配置并重启(/etc/mysql/my.cnf,添加到[mysqld]部分)
[mysqld]
server-id=2
replicate-ignore-db=mysql#忽略同步的数据库名
replicate-ignore-db=information_schema#忽略同步的数据库名
replicate-do-db=dbname#需要同步的数据库名

3.在master上使用下面的命令添加用来同步的用户并赋予权限:
mysql> CREATE USER 'slave'@'%' IDENTIFIED BY '1234';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
mysql> flush privileges;

4.使用命令(SHOW MASTER STATUS;)查看master的情况

File Position     BinLog_Do_DB     BinLog_Ignore_DB
log.000009 14002  rtm_bs  information_schema,mysql

#如果这条命令没有出现内容的话,说明master配置有问题

5.在Slave服务器上执行下面的命令。
mysql> SLAVE STOP;

mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.115',#master库的IP
mysql> MASTER_USER='slave', #master库的登陆用户
mysql> MASTER_PASSWORD='1234', #master库的登陆用户密码
mysql> MASTER_LOG_FILE='log.000009', #master库的File部分显示内容
mysql> MASTER_LOG_POS=14002; #master库的Position部分显示内容

mysql> START SLAVE;
#如果显示出Slave的具体信息的话,说明配置成功了。

 
6.尝试在主库修改数据,正常的话,在从库就能看到数据变化了。
 
7.一般从库会要求只读,可以创建一个只读的用户slave_user对外提供访问。
GRANT Select ON *.* TO slave_user@"%"  IDENTIFIED BY "12354";

或者执行下面的命令将数据库置为只读

mysql> set global read_only=1;

当需要将salve库从只读状态变为读写状态,执行下面的命令

mysql> set global read_only=0;
 

MySql5.5以上版本设置主从结构的例子的更多相关文章

  1. mysql8.0.25版本设置主从数据库,并且从库只读

    具体操作步骤 说明:主从数据库版本一致 1.主库创建同步使用的用户 create user 'repl'@'%' identified with 'mysql_native_password' by ...

  2. mysql-5.7免安装版本设置

    mysql-5.7.22 免安装版本设置(Windows7) 一.在Mysql官网下载Mysql-5.7.22的ZIP文件  下载链接为:https://dev.mysql.com/downloads ...

  3. MySQL Replication 详解MySQL数据库设置主从同步的方法

    MySQL同步的流程大致如下:  1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...

  4. Angular2.js——主从结构

    学习这一篇的内容,还回到我们快速起步的应用上来. 主从结构,我们想要做一个英雄的列表,我们希望用户在列表中选中一个英雄,然后这个被选中的英雄出现在详情视图中.主视图是英雄列表,从视图则是被选中英雄的详 ...

  5. windows10下 MySQL5.7.18版本安装过程及遇到的问题

    windows10下 MySQL5.7.18版本安装过程及遇到的问题           mysql-5.7.18-winx64 安装           1.解压 此次将MySQL装在H盘,依个人喜 ...

  6. mysql5.6以上版本: timestamp current_timestamp报1064/1067错误

    mysql5.6以上版本: timestamp current_timestamp报1064/1067错误 在创建时间字段的时候 DEFAULT CURRENT_TIMESTAMP表示当插入数据的时候 ...

  7. mysql-5.7.20 版本的 mysql-group-replication 可用性测试报告

    一.喜迎 mysql-5.7.20  事实上mysql-group-replication 功能是在mysql-5.7.17这个版本上引入的,它实现了mysql各个结点间数据强一致性, 这个也成为了我 ...

  8. MySQL5.7.22版本的安装和调试

    1:安装前的准备工作 需要的软件: boost_1_59_0.tar.gz,cmake-3.6.1.tar.gz,mysql-5.7.22.tar.gz 开始安装MySQL 2.1 检查cmake [ ...

  9. 升级MySQL5.7.22版本_总结记录

    目录 一. mysql5.7安装 0. 背景 1. 准备:下载安装包 2. 安装流程小结 3. 具体步骤 二. mysql5.7的一些变化 一. mysql5.7安装 0. 背景 之前用的5.6版本, ...

随机推荐

  1. [ActionScript 3.0] 动态改变影片剪辑的颜色

    flash.geom.ColorTransform 可使用 ColorTransform 类调整显示对象的颜色值.可以将颜色调整或颜色转换应用于所有四种通道:红色.绿色.蓝色和 Alpha 透明度. ...

  2. 浅谈Android选项卡(二)

    前面简单介绍了选项卡,下面以及后面的几篇文章介绍下Android选项卡的几种简单实现方法. http://blog.csdn.net/xia215266092/article/details/9613 ...

  3. K2路由器刷机笔记

    临近双11,K2路由器广告加的越来越放肆,实在太难忍受就刷了个固件.这里把路由器刷机的一般流程记录一下. 一.开启telnet 刷固件,首先要取得路由器系统的控制权,这样我们才能自由的进行操作. 方法 ...

  4. sap server笔记

    system 就是sap hana database,如果一个system有多个instance,则必须分散到不同的host中,每个system有唯一的sid. hello各位,jackie建议我们去 ...

  5. leetcode-137-Single Number II-第一种解法

    题目描述: Given an array of integers, every element appears three times except for one, which appears ex ...

  6. babel初学教程

    babel安装 安装前你需要安装node.js和npm以及gulp三个包. 然后执行以下命令 $ npm init 然后在安装 babel和babel-core两个包 $ npm install -- ...

  7. 高阶篇:4.2.5)DFMEA建议措施及后续完备

    本章目的:填写建议措施及DFMEA后续完备. 1.建议措施(k) 定义 总的来说,预防措施(降低发生率)比探测措施更好.举例来说,比起设计定稿后的产品验证/确认,使用已证实的设计标准或最佳实践更加可取 ...

  8. Angular material mat-icon 资源参考_File

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  9. 食品生鲜调料代理分销拼团商城微信小程序

    食品生鲜调料代理分销拼团商城微信小程序 现在小程序越来越火爆了,一种新的分销拼团模式出现了.一起来分享一下吧 调料商城是一家是专业从事各种调料生产和网上调料商品销售平台,是藤椒油.花椒油.香油.火锅油 ...

  10. $bzoj1021-SHOI2008\ Debt$ 循环的债务 $dp$

    题面描述 \(Alice\).\(Bob\)和\(Cynthia\)总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题.不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在 ...