手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

利用MySQL-Proxy进行MySQL数据库的读写分离

[日期:2015-08-05] 来源:Linux社区  作者:tae44 [字体: ]

实验系统:CentOS 6.6_x86_64
实验前提:防火墙和selinux都关闭
实验说明:本实验共有4台主机,IP分配如拓扑
实验软件:mariadb-10.0.20  MySQL-proxy-0.8.5-linux-el6-x86-64bit

下载地址:http://pan.baidu.com/s/1o6EFEQm

MySQL Proxy读写分离实战 http://www.linuxidc.com/Linux/2008-09/15656.htm

在CentOS 5.2下安装最新的MySQL Proxy http://www.linuxidc.com/Linux/2009-03/18907.htm

RHEL5.5下MySQL Proxy 安装 http://www.linuxidc.com/Linux/2011-11/47630.htm

mysql proxy、mysql-mmm实现读写分离高可用性 http://www.linuxidc.com/Linux/2012-09/71010.htm

实验拓扑:

 

一、准备工作:

1.将主机名称改为如下所示:

2.将hosts文件添加如下内容:

3.master、slave1和slave2安装mariadb: 

tar xf mariadb-10.0.20-linux-x86_64.tar.gz  -C /usr/local/
cd /usr/local/
ln -sv mariadb-10.0.20-linux-x86_64 mysql
useradd -r mysql
mkdir -pv /mydata/data
chown -R mysql.mysql /mydata/data/
cd mysql/
chown -R root.mysql .
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

二、配置主从复制

1.master上配置my.cnf:

[mysqld]
server-id      = 1
datadir = /mydata/data
log-bin = /mydata/data/master-bin
binlog_format = ROW
sync_binlog = 1                        //确保每次事务提交之前都能将二进制日志同步磁盘上

2.slave1上配置my.cnf:

[mysqld]
#log-bin=mysql-bin
#binlog_format=mixed
server-id      = 2
datadir = /mydata/data
relay_log = /mydata/data/relay-log
read_only = 1
sync_master_info = 1                  //及时同步master文件
sync_relay_log = 1                    //及时同步relay-log文件
sync_relay_log_info = 1                //及时同步relay-log-info文件

3.slave2上配置my.cnf:

[mysqld]
#log-bin=mysql-bin
#binlog_format=mixed
server-id      = 3
datadir = /mydata/data
relay_log = /mydata/data/relay-log
read_only = 1
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1

4.在master上创建复制用户:

service mysqld start
/usr/local/mysql/bin/mysql
------------------------------------------->
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'192.168.19.%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

5.在master上查看二进制日志位置:

SHOW MASTER LOGS;

6.两台slave上操作:

CHANGE MASTER TO MASTER_HOST='master',MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=637;
START SLAVE;
SHOW SLAVE STATUS\G

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2015-08/121109p2.htm

linux
相关资讯       MySQL Proxy  MySQL读写分离 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* gzszll会员 发表于 2016/9/14 18:07:10
你好,请教下这步怎么回事,数据库没有这个表吧,望指明,谢谢。如下
6.连接测试:

yum -y install mysql //如果没有mysql客户端的话执行此步
mysql -uadmin -padmin -h192.168.19.79 --port=4041
------------------------------------------------------------>
SELECT * FROM backends;