在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后,可以实现数据库的备份、同时应用也可以实现读写分离,提高应用的并发量。

1、主从原理

从《高性能mysql》书中讲解主从原理大致有三个步骤:

在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。

从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。

从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。

原理图为:

2、主从配置

演示的环境如下:

名称

IP

msyql-master(主库)

192.168.197.135

mysql-slave(从库)

192.168.197.136

首先在这两台服务器安装mysql数据库,安装方法参考《离线安装mysql数据库》。

(1)、配置主库

修改my.cnf文件,在[mysqld]加入下面的内容:

# 服务的唯一编号

server-id = 1

# 开启mysql binlog功能

log-bin = mysql-bin

# binlog记录内容的方式,记录被操作的每一行

binlog_format = ROW

# 减少记录日志的内容,只记录受影响的列

binlog_row_image = minimal

# 指定需要复制的数据库名为jgyw

binlog-do-db = jgyw

修改好配置文件,重启mysql服务

service mysqld restart

创建从库同步数据的账号

grant replication slave on *.* to 'jgyw'@'192.168.197.136' identified by 'jgyw@123';

flush privileges;

注意:上面这两个命令是在mysql的终端执行的。

查看主库的状态:

mysql的终端执行:

show master status\G;

返回的信息为:

*************************** 1. row ***************************

File: mysql-bin.000002

Position: 2380

Binlog_Do_DB: jgyw

Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row in set (0.00 sec)

(2)、配置从库

修改my.cnf文件,在[mysqld]加入下面的内容:

# 服务的唯一编号

server-id = 2

# 开启mysql binlog功能

log-bin = mysql-bin

# binlog记录内容的方式,记录被操作的每一行

binlog_format = ROW

# 减少记录日志的内容,只记录受影响的列

binlog_row_image = minimal

# 指定需要复制的数据库名为jgyw

replicate-do-db = jgyw

修改好配置文件,重启mysql服务

service mysqld restart

执行同步命令

mysql的终端执行:

# 设置主服务器ip,同步账号密码,同步位置

change master to master_host='192.168.197.135',master_user='jgyw',master_password='jgyw@123',master_log_file='mysql-bin.000002',master_log_pos=2380;

# 开启同步功能

start slave;

查看从库的状态

mysql的终端执行:

show slave status\G;

返回信息为:

注意:Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功。

3、测试

(1)、在主库上创建jgyw模式,即:

create schema jgyw;

(2)、在主库上的jgyw模式里面创建comm_config表,即:

use jgyw;

CREATE TABLE comm_config (configId varchar(200) NOT NULL ,configValue varchar(1024) DEFAULT NULL ,description varchar(2000) DEFAULT NULL ,PRIMARY KEY (configId)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

(3)、在主库上往comm_config表中插入一条记录,即:

insert into comm_config(configId, configValue, description) values('name', '架构与我', '测试一下');

(4)、在从库上查看模式,即:

show schemas;

结果为:

+--------------------+

| Database |

+--------------------+

| information_schema |

| jgyw |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

说明jgyw模式同步到从库了

(5)、在从库上查看jgyw模式下的表及数据,即:

use jgyw;

show tables;

结果为:

+----------------+

| Tables_in_jgyw |

+----------------+

| comm_config |

+----------------+

1 row in set (0.00 sec)

说明表也同步好了,再查看数据,即:

select * from comm_config;

结果为:

+----------+--------------+--------------+

| configId | configValue | description |

+----------+--------------+--------------+

| name | 架构与我 | 测试一下 |

+----------+--------------+--------------+

1 row in set (0.00 sec)

说明数据也同步过来了。

关注我

以你最方便的方式关注我:

微信公众号:

mysql 从库_mysql数据库主从配置相关推荐

  1. mysql 主从配置指定数据库_Mysql数据库主从配置

    Mysql主从同步 Mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 主从同步原理 主从原理大致有三个步骤: 在主库上把数据更改记录到二进制日志中( ...

  2. mysql手动同步_MySql数据库主从手动同步

    记录一次主从数据不同步,手动同步: 主库: [jumpserver@SX-Test-Oracle ~]$ /usr/local/mysql/bin/mysql -uroot -p Enter pass ...

  3. mysql原生库_Mysql数据库的一些简单原生sql语句

    原生sql语句查询: select * from 表名  : 查找表内所有数据, * 代表所有 where 具体条件 : where作位查询sql语句条件, 例 select * from 表名 wh ...

  4. MySql数据库主从配置详细教程

    MySql数据库主从配置详细教程 本文将讲解mysql数据库的主从配置方法.mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 1.主从原理 主从原理 ...

  5. mysql cluster 设置单向复制_mysql单向主从配置

    1.环境要求 操作系统:centOS6.5或以上 Mysql版本:mysql5.5 主机配置:4核CPU.4G内存 2.主从复制的方式 mysql5.6开始主从复制有两种方式:基于日志(binlog) ...

  6. mysql数据库主从同步的原理_mysql数据库主从同步复制原理

    MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能.更高可靠性要求的场合.与之对应的是另一个同步技术是MySQ ...

  7. mysql数据没有同步更新_MySQL数据库主从没有同步的两种解决方案

    MySQL数据库主从没有同步的两种解决方案 发布时间:2020-05-13 13:54:57 来源:亿速云 阅读:190 作者:三月 栏目:数据库 下文主要给大家带来MySQL数据库主从没有同步的两种 ...

  8. mysql服务器架构_Mysql的主从服务器架构配置

    所谓主从Mysql服务器架构,就是在主服务器上的操作同时也拷贝一份到从服务器上来. 接下来我使用两台机器做一下这个过程, 复制的作用: 1.数据分部 2.实现读的负载均衡 3.备份(本身不能备份,但是 ...

  9. mysql数据库主从配置

    http://blog.csdn.net/l1028386804/article/details/48413681  错误分析 https://www.cnblogs.com/fyc119/p/752 ...

最新文章

  1. 区块链技术开发三个优势
  2. Android开发环境搭建与起步--太详细了,一步一步图文教你
  3. 【例题5-6 UVA 540 】Team Queue
  4. Object.create()和new object()和{}的区别
  5. 嵌入式Linux必读经典书籍
  6. Java抽奖概率算法
  7. 【Linux】Linux设备驱动开发详解:基于最新的Linux 4.0内核
  8. CAS方式实现单点登录
  9. Ubuntu 安装磁盘分区及启动项添加
  10. Google Earth Engine(GEE)——字典合并
  11. 软件测试方法口诀,自测记忆法
  12. IntelliJ Idea 常用快捷键
  13. 如何在电脑上安装一个Android虚拟机
  14. Python_oldboy_自动化运维之路_面向对象2(十)
  15. Javaweb后端开发必学(HTML、CSS、JS、Vue)
  16. 字符数组的初始化及字符串的使用
  17. Adobe XMP SDK项目应用(续2)
  18. 解决document.form.submit()对象不支持此属性或方法
  19. 肖特基二极管(SBD)和开关二极管的工作原理及选型的学习总结
  20. 项目管理-计算专题(三点估算、PERT估算)

热门文章

  1. Linux读取SSD的smart信息,使用smartmontools查看SSD的“秘密”信息
  2. 域名解析是否生效实时检测(阿里云DNS检测)
  3. odbc连接oracle失败,大神解答win7系统ODBC无法连接ORACLE的处理方案
  4. matlab dtft的函数,DTFT的Matlab矩阵计算的理解
  5. java createjpeg4_在linux下用java的JPEGCodec.createJPEGEncoder(bos)生成jpg图片问题
  6. 查看oracle自动优化,使用索引查询更快,优化器为何不能自动识别
  7. android 使用c 代码实现,JNI开发实现helloworld,调用自己的C代码实现(1)
  8. CSS3里的display
  9. inline「一」:从 image 底部白边初识 line-height
  10. height百分比以及高度自适应问题