简介
使用mycat进行主从切换,当一台mysql服务器宕机之后,mycat会切换至另一台进行连接,两台mysql互为主从,这样可以使两台mysql服务器互相备份,使其数据一致。
1. 服务器分配
Mycat 192.168.1.100:8066
Mysql1 192.168.1.101:3306
Mysql2 192.168.1.102:3306
2. 安装所需的程序
系统版本CentOS-7-1611
1. Jdk1.7
2. Mycat1.4
3. Mysql5.7
3. Mycat服务器安装配置
a. 安装jdk,配置jdk环境变量
略。
b. 安装mycat
1. tar –xzvf myscatTar包,解压完成后复制到 /usr/mycat路径
2. 配置环境变量,vi /etc/profile,增加以下
export MYCAT_HOME=/usr/mycat
export PATH=$PATH:$MYCAT_HOME/bin
生效环境配置文件source /etc/profile
c. 修改配置文件
1. 修改server.xml,路径/usr/mycat/conf
设置登录名密码,逻辑表名称
<user name="root">
<propertyname="password">123456</property>
<!—逻辑表名称,mycat的表名à
<propertyname="schemas">developdatabase</property>
</user>
2. 配置schema.xml,路径/usr/mycat/conf
d. 修改防火墙,允许mycat的端口被外界访问
firewall-cmd --zone=public --add-port=8066/tcp–permanent
firewall-cmd –reload
4. mysql服务器安装配置
Mysql安装略
a. 修改mysql配置文件my.conf(两台mysql服务器都需要修改)
server_id=1
log-bin=mysql-bin
relay_log=mysql-relay-bin
增加上面配置,两台mysql服务器的server_id不能重复
b. Mysql master配置(主服务配置)
登录192.168.1.101mysql服务器
连接mysql:mysql –uroot –p
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO backup@’192.168.1.102’ IDENTIFIED BY ‘123456’;
FLUSH PRIVILEGES; 生效创建的用户
建立一个帐户backup,并且只能允许从192.168.1.102这个地址上来登陆,密码是123456。
重启master,运行SHOWMASTER STATUS;,输出如下:
c. Mysql slave配置(从服务配置)
登录192.168.1.102mysql服务器
连接mysql:mysql –uroot –p
mysql> CHANGE MASTER TO MASTER_HOST='mastrt服务器地址',
-> MASTER_USER='master服务器用户,使用刚才创建的backup',
->MASTER_PASSWORD='密码',
-> MASTER_LOG_FILE='master的show master status的file,实际填写mysql-bin.000009',
-> MASTER_LOG_POS=0; master的show master status的Position
使用SHOW SLAVE STATUS\G语句查看slave的设置是否正确
这样slave 在这里主要是看:
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味着一些事件被获取并执行了。就连接上master了。
在master上输入showprocesslist\G
3. row 就是slave的连接
因为我们的配置是互为主从,只需要把以上的操作,两台服务器反过来再进行操作一遍就好了。
客户端连接的时候只需要连接192.168.1.100:8066