1.准备三台机子,关闭防火墙,setenforce0。
192.168.10.25 | mysql主 |
192.168.10.60 | MySQL从 |
192.168.10.88 | mysql-proxy |
2.现做mysql主从,在主(192.168.10.25)上下载mariadb,启动mysql。
#下载mariadb
yum -y install mariadb*
#启动mariadb
systemctl restart mariadb
3.配置mysql主文件,然后配置数据库密码,启动mariadb。
#配置数据库
vi /etc/my.cnf 加入
log-bin=mysql-bin
server-id=1
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#配置数据库密码
Enter current password for root (enter for none):按回车
Switch to unix_socket authentication [Y/n] :按回车
Change the root password? [Y/n]:按回车
New password: 123456 #输入设置数据库的密码 123456 在回车
Re-enter new password: 123456 在输一次123456 按回车
Remove anonymous users? [Y/n] 按回车
Disallow root login remotely? [Y/n] 按回车
Remove test database and access to it? [Y/n] 按回车
Reload privilege tables now? [Y/n] 按回车
Thanks for using MariaDB! 数据库密码配置完毕
#启动mariadb
systemctl restart mariadb
4.进入数据库,创建用户、赋予权限。
#登录数据库
mysql -uroot -p123456
#创建用户
create user 'yz'@'192.168.10.60' identified by '123456';
#赋予权限
grant replication slave on *.* to 'yz'@'%' identified by '123456';
grant replication slave on *.* to 'yz'@'192.168.10.60' identified by '123456';
#刷新权限
flush privileges;
5.创建表和主库上导出数据。
#创建数据库
create database master1;
#导出数据
show master status;
6.配置从机(192.168.10.60),连接主的数据库。
#进入数据库 连接主库
CHANGE MASTER TO MASTER_HOST='192.168.10.25', MASTER_USER='yz',MASTER_PASSWORD='123456',MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=1901;
#开启复制
start slave;
查看slave状态
show slave status \G;
是两个yes就代表成功连接数据库。
7.然后配置mysql-proxy(192.168.10.88) ,安装数据库,启动mariadb,配置数据库。
#下载mariadb-server
yum -y install mariadb-server
#启动mariadb
systemctl restart mariadb
#配置数据库密码
Enter current password for root (enter for none):按回车
Switch to unix_socket authentication [Y/n] :按回车
Change the root password? [Y/n]:按回车
New password: 123456 #输入设置数据库的密码 123456 在回车
Re-enter new password: 123456 在输一次123456 按回车
Remove anonymous users? [Y/n] 按回车
Disallow root login remotely? [Y/n] 按回车
Remove test database and access to it? [Y/n] 按回车
Reload privilege tables now? [Y/n] 按回车
Thanks for using MariaDB! 数据库密码配置完毕
8.创建用户mysql-proxy,下载mysql-proxy,解压到指定目录,改目录的名字为mysql-proxy
#创建用户
useradd -r mysql-proxy
#下载安装包
wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
#解压安装包
tar zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local
#改目录名字
mv /usr/local/mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy
# 修改读写分离配置
vi /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
min_idle_connections = 1,
max_idle_connections = 8,
9.执行mysql-proxy.
#执行mysql-proxy
/usr/local/mysql-proxy/bin/mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-address="192.168.100.137:4040" --proxy-backend-addresses="192.168.10.25:3306" --proxy-read-only-backend-addresses="192.168.10.60:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"
10.查看mysql的端口号。一共三个端口
#下载
yum -y install net-tools
#查看端口号
netstat -autup | grep mysql
11.测试
#测试,看看是不是up
mysql -uadmin -padmin -h192.168.10.88 -P4041 -e "select * from backends;"
#如果不是up执行以下命令
mysql -uroot -p123456 -h192.168.10.88 -P4040 -e "show databases;"
结果
13.最后使用mysql-proxy读写分离成功,如果以上报错,请联系小编。