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. | | Format_desc | | | Server ver: 5.6.-log, Binlog ver: |
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
设置完重启mysql服务
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin. | |
| mysql-bin. | |
+------------------+-----------+
mysql> show binlog events in 'mysql-bin.000002';
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
| mysql-bin. | | Format_desc | | | Server ver: 5.6.-log, Binlog ver: |
+------------------+-----+-------------+-----------+-------------+---------------------------------------+ mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin. | | | | |
+------------------+----------+--------------+------------------+-------------------+
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=
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= # 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 master
to 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
Slave_IO_State:
Master_Host: 192.168.1.250
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 106
Relay_Log_File: mysqld-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 106
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_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: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
主要参数
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
mysql复制(高可用架构方案的基础)的更多相关文章
- MySQL数据库的优化(下)MySQL数据库的高可用架构方案
		
MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ...
 - 美团点评MySQL数据库高可用架构从MMM到MHA+Zebra以及MHA+Proxy的演进
		
本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新.同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望. MMM ...
 - Oracle Compute云快速搭建MySQL Keepalived高可用架构
		
最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...
 - Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务
		
PostgreSQL 高可用数据库的常见搭建方式主要有两种,逻辑复制和物理复制,上周已经写过了关于在Windows环境搭建PostgreSQL逻辑复制的教程,这周来记录一下 物理复制的搭建方法. 首先 ...
 - Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
		
本文主要介绍 Windows 环境下搭建 PostgreSQL 的主从逻辑复制,关于 PostgreSQl 的相关运维文章,网络上大多都是 Linux 环境下的操作,鲜有在 Windows 环境下配置 ...
 - (5.1)mysql高可用系列——高可用架构方案概述
		
关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...
 - mysql高可用架构方案之中的一个(keepalived+主主双活)
		
Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... ...
 - mysql实现高可用架构之MHA
		
一.简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 mas ...
 - [MongoDB] 高可用架构方案
		
一.缘由: 众所周知,Mongodb是在高速发展期,一些特性架构难免会发生变化.这里就总结下,我目前所知道的Mongodb 的高可用架构都有哪些.目前Mongodb版本3.2. 二.结构介绍: 1.R ...
 
随机推荐
- ps切图步骤
			
1.复制图层到新建 2.alt + i + r 裁剪 依次按 3.ctrl + alt + shift + s 保存 裁剪图标 复制到图层 , 删除背景,并复制样式 就可以做到 背景透明.
 - mysql建立索引
			
mysql的几种索引http://jingyan.baidu.com/article/da1091fbd166ff027849d687.html
 - mac用ssh连接linux云服务器中文乱码或无法显示解决
			
问题1:服务器是ubuntu16.04,用mac自带的ssh连接后无法正常输入中文? 解:这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集. 打开编辑 .bashrc 文 ...
 - poj3683  2 -sat输出路径
			
tarjan缩点,拓扑排序染色输出(貌似挑战上面没有拓扑啊,而且这样写还过了= =) 主要是找s,t,d,三者之间的关系,找出合取范式这题就很容易了 #include<map> #incl ...
 - 后台操作日志,插入数据获取的该数据主键ID为null
			
代码如下: @Override public void saveTopicResource(TopicResourceModel model, Integer userId) { TopicResou ...
 - mysql的bin或者sbin目录可执行文件
			
一. mysql服务和myql服务启动程序 1. mysqld mysqld就是mysql server,负责管理对mysql数据的访问. 当mysql server启动后,它会监听来自客户端的网络连 ...
 - neutron ovs+vxlan
			
title: Neutron ovs+vxlan date: 2017-04-26 23:37 tags: Network 主机网卡配置 controller: ens160:192.168.11.1 ...
 - 修改element内部样式的两种方式
			
第一种: 全局样式修改: 但这种方式有点不好的地方,这样会影响别的组件,比如修改elementUI的树结构的样式,这样改的话会影响到别的树组件: 第二种方式: 在要修改的组件内修改树结构样式 比如改这 ...
 - nivicat premium连接阿里云数据库
			
1.首先打开Navicat,文件>新建连接>MySQL连接,其他的如一图所示 其中: 连接名:自己取一个名字 主机名:填写mysql的地址 用户名:mysql的登录的用户名 密码:登录的密 ...
 - YYMMDD转YYYY-MM-DD
			
date.replace(/(\d{4})(\d{2})(\d{2})/g,'$1-$2-$3');