mysql主从读写分离

上传人:平*** 文档编号:16541098 上传时间:2017-11-08 格式:DOCX 页数:13 大小:197.25KB
返回 下载 相关 举报
mysql主从读写分离_第1页
第1页 / 共13页
mysql主从读写分离_第2页
第2页 / 共13页
mysql主从读写分离_第3页
第3页 / 共13页
mysql主从读写分离_第4页
第4页 / 共13页
mysql主从读写分离_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《mysql主从读写分离》由会员分享,可在线阅读,更多相关《mysql主从读写分离(13页珍藏版)》请在金锄头文库上搜索。

1、Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离( MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。一、MySQL 的安装与配置值得一提的是,我的安装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了/opt/mysql目录中,

2、因此在一台服务器上安装完成以后,可以将整个mysql目录打包,然后传到其它服务器上解包,便可立即使用。二、MySQL 主从复制场景描述:主数据库服务器:192.168.10.130,MySQL 已经安装,并且无应用数据。从数据库服务器:192.168.10.131,MySQL 已经安装,并且无应用数据。2.1 主服务器上进行的操作 启动mysql 服务/opt/mysql/init.d/mysql start通过命令行登录管理MySQL服务器/opt/mysql/bin/mysql -uroot -pnew-password授权给从数据库服务器192.168.10.131mysql GRANT

3、 REPLICATION SLAVE ON *.* to rep1192.168.10.131 identified by password;查询主数据库状态Mysql show master status;+-+-+-+-+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-+-+-+-+| mysql-bin.000005 | 261 | | |+-+-+-+-+记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。2.2 配置从服务器修改从服务器的配置文件/opt/mysql/etc/f将 serve

4、r-id = 1修改为 server-id = 10,并确保这个ID没有被别的MySQL服务所使用。启动mysql 服务/opt/mysql/init.d/mysql start通过命令行登录管理MySQL服务器/opt/mysql/bin/mysql -uroot -pnew-password执行同步SQL 语句mysql change master tomaster_host=192.168.10.130,master_user=rep1,master_password=password,master_log_file=mysql-bin.000005,master_log_pos=261

5、; 正确执行后启动Slave同步进程mysql start slave;主从同步检查mysql show slave statusG=* 1. row *Slave_IO_State:Master_Host: 192.168.10.130Master_User: rep1Master_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000005Read_Master_Log_Pos: 415Relay_Log_File: localhost-relay-bin.000008Relay_Log_Pos: 561Relay_Master_

6、Log_File: mysql-bin.000005Slave_IO_Running: YESSlave_SQL_Running: YESReplicate_Do_DB:省略若干Master_Server_Id: 11 row in set (0.01 sec)=其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。如果主服务器已经存在应用数据,则在进行主从复制时,需要做以下处理:(1)主数据库进行锁表操作,不让数据再进行写入动作mysql FLUSH TABLES WITH READ LOCK;(2)查看主数据库状态mysql sh

7、ow master status; (3)记录下 FILE 及 Position 的值。将主服务器的数据文件(整个/opt/mysql/data目录)复制到从服务器 ,建议通过tar 归档压缩后再传到从服务器解压。(4)取消主数据库锁定mysql UNLOCK TABLES;2.3 验证主从复制效果主服务器上的操作在主服务器上创建数据库first_dbmysql create database first_db;Query Ok, 1 row affected (0.01 sec)在主服务器上创建表first_tbmysql create table first_tb(id int(3),na

8、me char(10);Query Ok, 1 row affected (0.00 sec)在主服务器上的表first_tb中插入记录mysql insert into first_tb values (001,myself);Query Ok, 1 row affected (0.00 sec)在从服务器上查看mysql show databases;=+-+| Database |+-+| information_schema | first_db | mysql | performance_schema | test |+-+5 rows in set (0.01 sec)=数据库fi

9、rst_db 已经自动生成mysql use first_dbDatabase chagedmysql show tables;=+-+| Tables_in_first_db |+-+| first_tb |+-+1 row in set (0.02 sec)=数据库表first_tb也已经自动创建mysql select * from first_tb;=+-+-+| id | name |+-+-+| 1 | myself |+-+-+1 rows in set (0.00 sec)=记录也已经存在由此,整个MySQL主从复制的过程就完成了,接下来,我们进行MySQL读写分离的安装与配置

10、。三、MySQL 读写分离场景描述:数据库Master主服务器: 192.168.10.130数据库Slave从服务器:192.168.10.131MySQL-Proxy调度服务器:192.168.10.132以下操作,均是在192.168.10.132即MySQL-Proxy 调度服务器 上进行的。3.1 MySQL的安装与配置具体的安装过程与上文相同。3.2 检查系统所需软件包通过 rpm -qa | grep name 的方式验证以下软件包是否已全部安装。gcc* gcc-c+* autoconf* automake* zlib* libxml* ncurses-devel* libmc

11、rypt* libtool* flex* pkgconfig* libevent* glib*若缺少相关的软件包,可通过yum -y install方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh方式安装。3.3 编译安装 luaMySQL-Proxy的读写分离主要是通过 rw-splitting.lua脚本实现的,因此需要安装lua。lua可通过以下方式获得从http:/www.lua.org/download.html 下载源码包从搜索相关的rpm包 /opt/installwget http:/www.lua.org/ftp/lua-5.1.4.tar.gztar zvfx

12、 lua-5.1.4.tar.gzcd lua-5.1.4vi src/Makefile在 CFLAGS= -O2 -Wall $(MYCFLAGS) 这一行记录里加上-fPIC,更改为 CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) 来避免编译过程中出现错误。make linuxmake installcp etc/lua.pc /usr/lib/pkgconfig/export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig3.4 安装配置 MySQL-ProxyMySQL-Proxy可通过以下网址获得 :ht

13、tp:/mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/推荐采用已经编译好的二进制版本,因为采用源码包进行编译时,最新版的MySQL-Proxy对automake,glib 以及libevent的版本都有很高的要求,而这些软件包都是系统的基础套件,不建议强行进行更新。并且这些已经编译好的二进制版本在解压后都在统一的目录内,因此建议选择以下版本:32位 RHEL5平台:http:/mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.1-linux-rhel5-x86-32bit.tar.gz64位 RHEL5平台:http:/mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz测试平台为RHEL5 32位,因此选择32位的软件包wget http:/mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.1-lin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号