红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制(3)

读写分离实现基本机制

基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库;主服务器对向从服务器请求的请求产生的I/o会很多。可以实现多级复制;实现机制是在主服务器为从服务器产生一个进程,有一个单独的服务器器为从服务器提供读进程即是多级复制模式;单独提供查询进程服务器采用black hole存储引擎

 

Mysql-5.6实现读写分离简构图

红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制

Mysql-proxy配置选项介绍

--proxy-address=host:port ————代理服务监听的地址和端口;

--admin-address=host:port ————管理模块监听的地址和端口;

--proxy-backend-addresses=host:port ————后端mysql服务器的地址和端口;

--proxy-read-only-backend-addresses=host:port ————后端只读mysql服务器的地址和端口;

--proxy-lua-script=file_name ————完成mysql代理功能的Lua脚本;

--daemon ————以守护进程模式启动mysql-proxy

--keepalive ————mysql-proxy崩溃时尝试重启之;

--log-file=/path/to/log_file_name ————日志文件名称;

--log-level=level ————日志级别;

--log-use-syslog ————基于syslog记录日志;

--plugins=plugin,.. ————mysql-proxy启动时加载的插件;

--user=user_name ————运行mysql-proxy进程的用户;

--defaults-file=/path/to/conf_file_name ————默认使用的配置文件路径;其配置段使用[mysql-proxy]标识;

--proxy-skip-profiling ————禁用profile

--pid-file=/path/to/pid_file_name ————进程文件名;

安装mysql-proxy

# useradd -r mysql-proxy

# tar xf mysql-proxy-0.8.3-linux-glibc2.3-x86-32bit.tar.gz-C /usr/local/

# cd /usr/local/

# ln -sv mysql-proxy-0.8.3-linux-glibc2.3-x86-32bitmysql-proxy

添加环境变量

# vim /etc/profile.d/mysql-proxy.sh

添加内容为

exportPATH=$PATH:/usr/local/mysql-proxy/bin

# . /etc/profile.d/mysql-proxy.sh

mysql-proxy提供SysV服务脚本以及配置文件mysql-proxy 由于脚本配置文件过长所以就上传到附件了

添加执行权限,加进服务控制列表

# cd /etc/init.d/

# chmod +x mysql-proxy

# chkconfig --add mysql-proxy

# chkconfig --level 2345 mysql-proxy on

相关配置文件已经准备完成,现在就可启动mysql-proxy,然后使用另一客户端(这里的客户端IP172.16.51.77)进行连接测试

# mysql -uadmin -padmin -h172.16.51.23--port=4041

mysql> select * from backends;

红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制

读写分离测试

在负责读写的服务器上进行远程用户授权

mysql> GRANT ALL ON *.* TO 'root'@'%'IDENTIFIED BY 'RedHat';

mysql> flush privileges;

在客户端172.16.51.77进行一次写操作

# mysql -uroot -predhat -h172.16.51.23 -e'create database chuangjian;'

# mysql -uadmin -padmin -h172.16.51.23--port=4041

红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制

在客户端172.16.51.77进行一次读操作

# mysql -uroot -predhat -h172.16.51.23 -e'select user,password from mysql.user;'

红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制

172.16.51.20服务器支持读写,所以在第一次进行查询时172.16.51.21服务器可能响应不到,所以就再一次的进行了查询测试(有不周的地方还望见谅哦)

mysql-proxy服务脚本与配置文件下载地址:

免费下载地址在

用户名与密码都是

具体下载目录在 /2013年资料/5月/24日/红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/de51095aa8136ece9de0126677ee005f.html