rhel 6.10
主服务器 : 192.168.2.121 rac01
从服务器 : 192.168.2.122 rac02
调度服务器: 192.168.2.123 rac03
--建立目录,建立用户
mkdir -p /mysql
groupadd mysql
useradd mysql -g mysql
-- 安装mysql
./mysql_install_db --basedir=/mysql/mysql3306 --datadir=/mysql/mysql3306/data --user=mysql
./mysql_install_db --basedir=/mysql/mysql3307 --datadir=/mysql/mysql3307/data --user=mysql
-- 启动mysql
./mysqld_safe --defaults-file=/mysql/mysql3306/my.cnf --user=mysql &
./mysqld_safe --defaults-file=/mysql/mysql3307/my.cnf --user=mysql &
-- 连接mysql
./mysql --socket=/mysql/mysql3306/mysql.sock
./mysql --socket=/mysql/mysql3307/mysql.sock
-- 关闭mysql
./mysqladmin -uroot -p --socket=/mysql/mysql3306/mysql.sock shutdown
./mysqladmin -uroot -p --socket=/mysql/mysql3307/mysql.sock shutdown
--配置主从
vi Master my.cnf
server-id=1
log-bin=mysql3306-bin
binlog-ignore-db = mysql,information_schema
vi slave my.cnf
server-id=2
-- 主服务器上创建复制帐号,并授权
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'%' identified by 'mysql';
show master status;
mysql> show master status;
+----------------------+----------+--------------+--------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------+----------+--------------+--------------------------+-------------------+
| mysql3306-bin.000001 | 318 | | mysql,information_schema | |
+----------------------+----------+--------------+--------------------------+-------------------+
1 row in set (0.00 sec)
mysql>
-- 配置从库
change master to
master_host='192.168.2.121',
master_user='rep1',
master_password='mysql',
master_log_file='mysql3306-bin.000001',
master_log_pos=318
start slave
-- 配置mysql proxy
cd mysql-proxy
mkdir lua
mkdir logs
cp /mysql/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ./lua
cp /mysql/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua ./lua
vi /mysql/mysql-proxy/mysql-proxy.cnf
[mysql-proxy]
user=root
admin-username=proxy
admin-password=mysql
proxy-address=192.168.2.123
proxy-read-only-backend-addresses=192.168.2.122
proxy-backend-addresses=192.168.2.121
proxy-lua-script=/mysql/mysql-proxy/lua/rw-splitting.lua
admin-lua-script=/mysql/mysql-proxy/lua/admin-sql.lua
log-file=/mysql/mysql-proxy/logs/mysql-proxy.log
log-level=info
daemon=true
keepalive=true
-- 修改读写分离脚本
vi /mysql/mysql-proxy/lua/rw-splitting.lua
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1,
max_idle_connections = 1,
is_debug = false
}
end
-- 启动mysql proxy
./mysql/mysql-proxy/bin/mysql-proxy --defaults-file=mysql-proxy.cnf
(critical) mysql-proxy-cli.c:326: loading config from 'mysql-proxy.cnf' failed
由于安全要求,必须将配置文件权限设为660(创建人可读写,同组人可读),否则不允许启动。
chmod 660 /mysql/mysql-proxy/mysql-proxy.cnf
netstat -tupln | grep 4040
[mysql@rac03 ~]$ netstat -tupln | grep 4000
(No info could be read for "-p": geteuid()=500 but you should be root.)
tcp 0 0 192.168.2.123:4000 0.0.0.0:* LISTEN -
[mysql@rac03 ~]$
搭建完毕。待测试读写分离。
end