[转帖]mysql数据库主从配置
mysql数据库主从配置
- https://www.toutiao.com/i6680489302947791371/
- 多做实验 其实挺简单的 很多东西 要提高自信 去折腾.
在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后,可以实现数据库的备份、同时应用也可以实现读写分离,提高应用的并发量。
1、主从原理
从《高性能mysql》书中讲解主从原理大致有三个步骤:
- 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。
- 从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。
- 从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。
原理图为:
2、主从配置
演示的环境如下:
首先在这两台服务器安装mysql数据库,安装方法参考《离线安装mysql数据库》。
(1)、配置主库
- 修改my.cnf文件,在[mysqld]加入下面的内容:
- # 服务的唯一编号server-id = 1# 开启mysql binlog功能log-bin = mysql-bin# binlog记录内容的方式,记录被操作的每一行binlog_format = ROW# 减少记录日志的内容,只记录受影响的列binlog_row_image = minimal# 指定需要复制的数据库名为jgywbinlog-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 statusG;
返回的信息为:
- *************************** 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# 指定需要复制的数据库名为jgywreplicate-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 statusG;
返回信息为:
注意: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数据库主从配置
一.为什么要使用数据库主从架构 一个网站损耗资源最厉害的就是数据库,最易崩溃的也是数据库,而数据库崩溃带来的后果是非常严重的.数据库分为读和写操作,在实际的应用中,读操作的损耗远比写操作多太多,因此读 ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- mysql数据库主从同步
环境: Mater: CentOS7.1 5.5.52-MariaDB 192.168.108.133 Slave: CentOS7.1 5.5.52-MariaDB 192.168. ...
- Spring AOP实现Mysql数据库主从切换(一主多从)
设置数据库主从切换的原因:数据库中经常发生的是“读多写少”,这样读操作对数据库压力比较大,通过采用数据库集群方案, 一个数据库是主库,负责写:其他为从库,负责读,从而实现读写分离增大数据库的容错率. ...
- mysql数据库主从同步读写分离(一)主从同步
1.mysql数据库主从同步读写分离 1.1.主要解决的生产问题 1.2.原理 a.为什么需要读写分离? 一台服务器满足不了访问需要.数据的访问基本都是2-8原则. b.怎么做? 不往从服务器去写了 ...
- (转)Mysql数据库主从心得整理
Mysql数据库主从心得整理 原文:http://blog.sae.sina.com.cn/archives/4666 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本 ...
- MySQL数据库主从同步延迟分析及解决方案
一.MySQL的数据库主从复制原理 MySQL主从复制实际上基于二进制日志,原理可以用一张图来表示: 分为四步走: 1. 主库对所有DDL和DML产生的日志写进binlog: 2. 主库生成一个 lo ...
- MySQL数据库主从同步实战过程
Linux系统MySQL数据库主从同步实战过程 安装环境说明 系统环境: [root@~]# cat /etc/redhat-release CentOS release 6.5 (Final) ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
随机推荐
- Python之网路编程之粘包现象
一.什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在客户端已经粘了 2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原 ...
- ESP8266WiFiGeneric---通用库--事件和配置
ESP8266WiFiSTAClass .ESP8266WiFiScanClass .ESP8266WiFiAPClass 可以访问 ESP8266WiFiGenericClass的private和p ...
- Mac OS找不到/usr/include文件夹的解决办法
Mojave最新解决方案:终端执行: xcode-select --install #完成后执行 sudo installer -pkg /Library/Developer/CommandLineT ...
- 【NOIP2016提高A组模拟10.15】打膈膜
题目 分析 贪心, 先将怪物按生命值从小到大排序(显然按这个顺序打是最优的) 枚举可以发对少次群体攻击, 首先将所有的群体攻击发出去, 然后一个一个怪物打,当当前怪物生命值大于2,如果还有魔法值就放重 ...
- 【初中部 NOIP提高组 二试】模拟赛B总结
今天的比赛大翻车了,惨败. 第一题是一道模拟找规律题,由于一些计算错误,没有认真对拍,本来送的100分有40分飞走了~~ 第二题是在一个结论基础上的dp加单调队列,比赛上没有搞出那个结论,打了个n^3 ...
- java总结1
栈,堆,方法区.main和局部变量在栈,new 对象 在堆, 类和常量在方法区除了8大基础数据类型,其他都为引用变量局部变量在函数内或方法上声明,没有默认值,定义必须赋值一旦提供构造方法,就不会有默认 ...
- 树状数组(Binary Indexed Tree)
树状数组(Binary Indexed Tree,BIT) 是能够完成下述操作的数据结构. 给一个初始值全为 0 的数列 a1, a2, ..., an (1)给定 i,计算 a1+a2+...+ai ...
- ROI pooling
R-CNN需要大量的候选框,对每个候选框都提取特征,速度很慢,无法做到实时检测,无法做到端到端.ROI pooling层实现training和testing的显著加速,并提高检测accuracy. R ...
- Access to the requested object is only available from the local network phpmyadmin
http://stackoverflow.com/questions/11999371/access-to-the-requested-object-is-only-available-from-th ...
- bat实践小集
查找当前文件夹下的exe和bat文件,并存储到txt中 for /f "tokens=4 delims= " %a in ('dir ^| findstr "^.exe ...