高性能mysql主存架构
原文:高性能mysql主存架构
MySQL Replication(Master与Slave基本原理及配置)

(2)如果主从的网络断开,从会在网络正常后,批量同步。
(3)如果对从进行修改数据,那么很可能从在执行主的bin-log时出现错误而停止同步,这个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。
(4)还有一个mysql配置是双主,互为主从配置,只要双方的修改不冲突,可以工作良好。
(5)如果需要多主的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点。
4:搭建mysql主从服务器
(1)实验环境
操作系统:Red Hat Enterprise Linux Server release 6.4
数据库版本: 5.6.21
(2)主机地址:
master:192.168.10.130
slave:192.168.10.120
(3)安装数据mysql数据库
略
(4)配置master的my.cnf文件
[mysqld]
log_bin = mysql-bin #开启binlog日志
basedir = /usr/local/mysql #指定mysql的安装目录
datadir = /data/mysql #指定mysql数据库的数据存放位置
port = 3306 #指定端口,默认是3306,如果一个主机有两个数据库需指定不同端口
server_id = 1 #指定server-id,必须与slave端的server-id不同
bind-address = 0.0.0.0 #默认是127.0.0.1,更改为0.0.0.0,否则Slave将无法链接到 Master
expire_logs_days = 10 #终止日志的时间,以天为单位,默认是30天
max_binlog_size = 100M #存放日志最大容量
sync-binlog=1 #允许日志同步
(5)重启mysql服务
[root@localhost ~]# service mysqld restart
(6)本地登录mysql数据库,向slave授权并查看当前使用的binlog日志与偏移量
mysql> grant replication client,replication slave on *.* to 'repluser'@'192.168.10.120' identified by '123456';
语意:允许用户repluser以密码123456在192.168.10.120主机,登陆本机数据库同步数据;
(7)查看master状态
mysql> show master status \G;
*************************** 1. row ***************************
File: mysql-bin.000015 #binlog日志
Position: 211 #偏移量
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
ERROR:
No query specified
错误显示:
mysql>show master status;
Empty set (0.02 sec)
查询如果出现以上提示表示配置有问题;
(8)配置slave服务器my.cnf文件
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 2 #指定server-id,必须与master端的server-id不同
sync-binlog=1 #允许日志同步
read-only=1 #设置只读
(9)重启mysql服务
[root@localhost ~]# service mysqld restart
(10)本地登录mysql数据库,指定从服务器的主服务器并开启slave功能
执行以下操作必须关闭slave功能
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> change master to
-> master_host='192.168.10.130', #指定主服务器地址
-> master_port=3306, #指定端口,默认是3306,不需要指定
-> master_user='repluser', #指定同步时使用的用户名
-> master_password='123456', #指定同步用户的密码
-> master_log_file='mysql-bin.000015', #指定当前的主服务器使用的binlog日志
-> master_log_pos=120; #指定当前主服务器上的位偏移量
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
(11)查看slave是否正常工作
mysql> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.10.130
Master_User: repluser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000015
Read_Master_Log_Pos: 120
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000015
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
(12)测试
在master创建wql数据
mysql> create database wql;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
| wql |
+--------------------+
6 rows in set (0.00 sec)
在slave数据查看是否有该数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wql |
+--------------------+
5 rows in set (0.00 sec)
Mysql主从同步搭建完成且可以正常工作,但其中有几点需要注意:
(2)如需更改slave服务器的主服务器的设置需要先停止slave服务,然后再更改,使用命令stop slave可以停止slave服务
(3)只有Slave_IO_Running与Slave_SQL_Running两个进程的状态全为Yse时才表明slave服务正常工作,否则都表示其工作异常。
Slave_IO_Running进程状态为NO的原因:
(1)连接不上主数据库服务器(物理线路,安全设置问题,授权问题)
(2)当前binlog日志名和pos点和主服务器的不一致
Slave_SQL_Running进程状态为NO的原因:从服务器本机没有主数据库上的库和表或者表结构不一致。
13:主从复制如何提高可靠性
(1)主从单向复制,从服务器只是实时的保存了主服务器的一个副本。当主服务器发生故障时,可以切换到从服务器继续做查询,但不能更新。
(2)如果采用双向复制,即两台mysql服务器即作为主服务器,又作为从服务器。那么两者都可以执行更新操作并能实现负载均衡,当一方出现故障时,另一方不受影响。但是,除非能保证任何更新操作顺序都是安全的,否则双向复制会导致失败。
注:如有操作及编写问题及时联系;QQ:1078956079 /1648111701
高性能mysql主存架构的更多相关文章
- 高性能Mysql主从架构的复制原理及配置详解
温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...
- 转:高性能Mysql主从架构的复制原理及配置详解
温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...
- 高性能Mysql主从架构的复制原理及配置详解(转)
温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...
- 高性能Mysql主从架构的复制原理及配置
1. 复制概述 1.1 mysql支持的复制类型 1.2 复制解决的问题 1.3 复制如何工作 2. 2 复制配置 2.1创建复制帐号 2.2拷贝数据 2.3配置master 2.4配置slave 2 ...
- 高性能MySQL笔记:第1章 MySQL架构
MySQL 最重要.最与众不同的特性是他的存储引擎架构,这种架构的设计将查询处理(Query Precessing)及其系统任务(Server Task)和数据的存储/提取相分离. 1.1 MyS ...
- 1121高性能MySQL之运行机制
本文来自于拜读<高性能MySQL(第三版)>时的读书笔记作者:安明哲转载时请注明部分内容来自<高性能MySQL(第三版)> MySQL的逻辑构架 MySQL服务器逻辑架构 最上 ...
- 《高性能MySQL》读书笔记--锁、事务、隔离级别 转
1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进 ...
- 高性能MySQL --- 读书笔记(1) - 2016/8/2
此书不但帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径.全书包括14章,内容覆盖MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优. ...
- 《高性能MySQL》
<高性能MySQL>(第3版)讲解MySQL如何工作,为什么如此工作? MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优.系统配置管理和安全设置.监控分析,以及复制.扩展和 ...
随机推荐
- ZOJ1093 动态规划
给你n砖,有三个长宽高.每一个无限制的访问.叠加在一个条件的长度和宽度必须严格格长度和宽度大于下面的一个,叠加求最大高度. 思维: 每块砖终于放置在根据本方法可以把六种,然后,对于长度和宽度排序.这是 ...
- BDB (Berkeley DB)简要数据库(转载)
使用最近DBD.然后搜了下相关资料,首先公布的是一门科学: 转会http://www.javaeye.com/topic/202990 DB综述DB最初开发的目的是以新的HASH訪问算法来取代旧的hs ...
- Three.js 3D打印数据模型文件(.STL)载入中
3DPrint是现在和未来10年度科技产品的主流之中.广泛的. 对于电子商务类3D打印网站.一个主要功能就是商品3D呈现的方式,那是,3D数据可视化技术. HTML5(WebGL)它可以用于构建3D查 ...
- IOS开发-表视图LV3导航控制器
学到这里感觉有点难了,其实这篇文章再草稿箱里放了好久了~ 最近对于学习的热情下降了.这不行-抓紧学习走起! 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用, 首先要了解一些概念-- 1 ...
- oracle 包,函数,过程,块的创建和执行及在java中执行(转)
SQL> create or replace procedure sp_guocheng1 is--如果有这个名字就替换 2 begin--执行部分 3 insert into guoc ...
- android于src和background差额
ImageView中XML属性src和background的差别: background会依据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小.不会进行拉伸.src是图片内容(前 ...
- CentOS6.2安装memcache
一,安装libevent # cd /tmp # wget http://www.monkey.org/~provos/libevent-1.3.tar.gz # tar -zxvf libevent ...
- 在Linux上安装Hadoop
先决条件: Hadoop是用JAVA写的,所以首先要安装Java.在Ubuntu上安装JDK见:http://blog.csdn.net/microfhu/article/details/766739 ...
- 【6】和作为连续序列s
称号:输入一个整数s,并打印出所有s整数的连续序列(含有至少2的数量). 如输入9,输出2.3.4和4.5两个序列 方案一:因为序列至少要2个数,则两个数上限值为(1+s)/2,我们能够枚举该序列的起 ...
- Directx11学习笔记【七】 游戏定时器的实现
无论是在动画还是在一些游戏中,定时器总是必不可少的,游戏的帧数动画的播放等都离不开定时器的控制.这里以dx11龙书中提供的定时器为例,具体看看是怎么实现一个简单但精度高使用方便的定时器的. 这个定时器 ...