mysql复制(高可用架构方案的基础)
mysql复制:把一个数据库实例上所有改变复制到另外一个数据库库服务器实例的过程
特点:
1.没有改变就无所谓复制 ;改变是复制的根本与数据源
2.所有的改变:是指可以复制全部改变,也可以复制部分改变 可以在全部改变中根据业务需求选择部分库和部分表的复制
复制的场景:
1.数据库容灾
2.需求:创建一个从数据服务器,做数据的测试和分析
3.负载均衡
4.复制时高可用架构方案的基础
mysql高可用架构特点
1.数据库故障的检测与排除
2.主从数据库的切换
3.数据的备份和保护
mysql高可用架构常用方案
1.双主 自动/手工 切换
2.Altas,opneproxy读写分离方案
3.MMM架构
4.MHA架构
5.DRDB高可用架构
6.mycat高可用分片架构
7.mysql NDB cluster集群架构
8.percona xtradb cluster(pxc)集群架构
9.mysql fabric高可用架构
mysql复制配置
同步复制步骤
1. 配置master服务器
2. 配置slave实例
3. 配置slave的复制连接到master
1.配置master服务
log-bin=/var/lib/mysql/binlog/mysql-bin.log (打开二进制文件及二进制文件的位置,注意是 是文件 不是文件夹 mysql-bin是二进制日志的开头格式 ,注意binlog目录对mysql用户的权限)
server-id=108 (服务器唯一标识,必须设置,如果没设置,可通过 进入mysql 后 show binlog events in 'mysql-bin.000001'; 查看)
mysql> show binlog events in 'mysql-bin.000001'; +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | mysql-bin.000001 | 4 | Format_desc | 1 | 120 | Server ver: 5.6.35-log, Binlog ver: 4 | +------------------+-----+-------------+-----------+-------------+---------------------------------------+
设置完重启mysql服务
mysql> show binary logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000001 | 143 | | mysql-bin.000002 | 120 | +------------------+-----------+ mysql> show binlog events in 'mysql-bin.000002'; +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | mysql-bin.000002 | 4 | Format_desc | 108 | 120 | Server ver: 5.6.35-log, Binlog ver: 4 | +------------------+-----+-------------+-----------+-------------+---------------------------------------+mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000002 | 120 | | | | +------------------+----------+--------------+------------------+-------------------+
master的/etc/my.cnf 示例
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-bin=/var/lib/mysql/binlog/mysql-bin.log server-id=108 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0# Recommended in standard MySQL setup sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid explicit_defaults_for_timestamp=true
2.从库的配置 my.cnf里
server-id=251
开启从库进程
start slave ;
如果有警告
show warnings;
3.配置slave连接到master的复制
在主库上创建一个复制权限的账号
grant replication slave on *.* to rep@'%' identified by 'rep123456'; flush privileges;
在从服务器mysql里执行
change masterto master_host='192.168.1.250',master_port=3306,master_user='rep',master_password='rep123456',master_log_file='mysql-bin.000003', master_log_pos=106;
master_log_file 表示从哪个二进制文件开始,master_log_pos 表示从哪个位置开始
比如我做测试的主库是 192.168.1.250 从库是192.168.1.251
查看从库状态
show slave status\G
![](/assets/blank.gif)
![](/assets/blank.gif)
Slave_IO_State:Master_Host: 192.168.1.250Master_User: repMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000003Read_Master_Log_Pos: 106Relay_Log_File: mysqld-relay-bin.000001Relay_Log_Pos: 4Relay_Master_Log_File: mysql-bin.000003Slave_IO_Running: NoSlave_SQL_Running: NoReplicate_Do_DB:Replicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno: 0Last_Error:Skip_Counter: 0Exec_Master_Log_Pos: 106Relay_Log_Space: 106Until_Condition: NoneUntil_Log_File:Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key:Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error:Last_SQL_Errno: 0Last_SQL_Error:
View Code
主要参数
Slave_IO_Running: No
Slave_SQL_Running: No
开启从库进程
start slave ;
show slave status\G
这时 :
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
表示配置成功了,在主库相应表里插入数据,从库也会有!
如果出现
slave have equal MySQL Server UUIDs
到 /var/lib/mysql/auto.cnf
修改 server-uuid
转载于:https://www.cnblogs.com/HKUI/p/6376107.html
mysql复制(高可用架构方案的基础)相关推荐
- mysql复制架构迁移到pxc_mysql复制(高可用架构方案的基础)
mysql复制:把一个数据库实例上所有改变复制到另外一个数据库库服务器实例的过程 特点: 1.没有改变就无所谓复制 ;改变是复制的根本与数据源 2.所有的改变:是指可以复制全部改变,也可以复制部分改变 ...
- MySQL数据库的优化(下)MySQL数据库的高可用架构方案
[51CTO独家特稿]如果单MySQL的优化始终还是顶不住压力时,这个时候我们就必须考虑MySQL的高可用架构(很多同学也爱说成是MySQL集群)了,目前可行的方案有: 一.MySQL Cluster ...
- Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】
文章出处:Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 [转] mysql数据库高可用高扩展性架构方案实施[原] Heartbeat+DRBD+MySQ ...
- 【稳定性day10】美团MySQL的高可用架构 - 对标业内的一些解决方案
本文来自美团蔡金龙老师的分享,介绍了最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新.同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我 ...
- mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)
Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... 4 3.安装设置MY ...
- Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能 ...
- MySQL MHA 高可用架构
2019独角兽企业重金招聘Python工程师标准>>> MySQL MHA 项目的地址:https://code.google.com/p/mysql-master-ha/,这个 ...
- Mysql的高可用架构搭建(MHA)
文章目录 Mysql高可用架构(MHA)简介 MySQL高可用系统 MHA技术介绍 MHA提供了如下功能 MHA工作原理 MHA的优点 MHA组件介绍 Manager工具包主要包括以下工具 Node工 ...
- Spring - MySql实现高可用架构之MHA
一.简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 mas ...
- ES+Redis+MySQL,高可用架构设计太牛了!(至尊典藏版)
目录 前言 一.ES 高可用方案 1.1.ES 双中心主备集群架构 1.2.ES 流量隔离三集群架构 1.3.ES 集群深度优化提升 二.会员 Redis 缓存方案 2.1. ES 近一秒延时导致的 ...
最新文章
- 硬盘接口的类型介绍和比较
- mysql存储过程写法—动态参数运用
- oracle 对应的JDBC驱动 版本
- 求阶乘的和(信息学奥赛一本通-T1091)
- python kafka消费实时数据,python生产和消费kafka数据
- php form 上传_php+html5使用FormData对象提交表单及上传图片的方法
- IDEA创建xml文件
- Xshell连接服务器编写代码(windows+Xshell+阿里云主机)
- Hypergraph Neural Networks超图神经网络
- jQuery实现点击复制文本效果
- 实现简单的英文字母大小写转换
- vue+element PC系统自适应
- China Mobile”、“China Unicom”,请修改为中国移动、中国联通
- vue学习九--v-for的四种用法,以及key问题
- python图灵_python图灵机器人
- DTOJ#4955. CCJ的探险
- java util:全国省市工具类
- 多个网站共享一个mysql数据库_多网站共用一MySQL数据库有影响吗?
- 腾讯的PHP框架,腾讯音视频 TRTC
- c++读取逗号分隔输入_pandas-csv的读取与导出(全网最详细版本,含代码和实例)...