[转帖]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数据 ...
随机推荐
- Gym-100923A-Por Costel and Azerah(DP)
链接: https://vjudge.net/problem/Gym-100923A 题意: Por Costel the Pig has received a royal invitation to ...
- 转发(forward)和重定向(redirect)的区别?
1)forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所 ...
- eclipse安装hibernate tools插件
第一步:在eclipse菜单中选择Help>Install New Software,弹出安装插件的窗口,如图: 在Work with:后面输入http://download.jboss.org ...
- 【NOIP2016提高A组模拟9.15】Osu
题目 分析 考虑二分答案, 二分小数显然是不可取的,那么我们将所有可能的答案求出来,记录在一个数组上,排个序(C++调用函数很容易超时,手打快排,时间复杂度约为\(O(>8*10^7)\),但相 ...
- Java——序列化 反序列化
记录一下: 先粘两个比较繁琐的方法: put: public void putSerializableObject(String key, Object value, int expireTime) ...
- ASP教程:gb2312和utf-8乱码问题解决
文章为转载:https://www.xp.cn/b.php/31663.html 尊重作者版权 今天做网站的时候,客户要一个博客,于是就利用了本博客所用的程序pjblog.经常做网站的人都知道,在同一 ...
- DOM例子小结(一)
一.点击按钮切换图片 核心思路: 1.首先获取元素 2.为元素添加点击事件 3.当事件被触发时运行代码 <!DOCTYPE html> <html lang="en&quo ...
- C语言 - C语言简介
一.C语言的发展史 C语言的发展离不开B语言,我们先从B语言说起.在1970年时,贝尔实验室的肯.汤姆逊将BCPL语言进行修改,由于肯.汤姆逊是从BCPL语言进行修改,因此,此时B语言就诞生了,B的含 ...
- C和C++中的副本机制
函数的形参.return 都有副本机制.数组没有副本机制 (为了节约内存) 函数形参和局部变量的生命周期.函数调用结束后就会被回收.
- Flume的断点续传解决
根据需求,首先定义以下3大要素 采集源,即source——监控文件内容更新 : exec ‘tail -F file’ 下沉目标,即sink——HDFS文件系统 : hdfs sink Sou ...