mycat的安装

1、环境准备

​ 本次课程使用的虚拟机环境是centos6.5

​ 首先准备四台虚拟机,安装好mysql,方便后续做读写分离和主从复制。

192.168.**.101 node01
192.168.**.102 node02
192.168.**.103 node03
192.168.**.104 node04

​ 安装jdk

​ 使用rpm的方式直接安装jdk,配置好具体的环境变量

2、mycat的安装

​ 从官网下载需要的安装包,并且上传到具体的虚拟机中,我们在使用的时候将包上传到node01这台虚拟机,由node01充当mycat。

​ 下载地址为:http://dl.mycat.org.cn/1.6.7.5/2020-4-10/

解压文件到/usr/local文件夹下
tar -zxvf  Mycat-server-1.6.7.5-release-20200422133810-linux.tar.gz -C /usr/local/soft/
配置环境变量
vi /etc/profile
添加如下配置信息:
export MYCAT_HOME=/usr/local/soft/mycat
export PATH=$MYCAT_HOME/bin:$PATH:$JAVA_HOME/bin

​ 当执行到这步的时候,其实就可以启动了,但是为了能正确显示出效果,最好修改下mycat的具体配置,让我们能够正常进行访问。

3、配置mycat

​ 进入到/usr/local/mycat/soft/conf目录下,修改该文件夹下的配置文件

1、修改server.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- - - Licensed under the Apache License, Version 2.0 (the "License"); 
	- you may not use this file except in compliance with the License. - You 
	may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 
	- - Unless required by applicable law or agreed to in writing, software - 
	distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 
	WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the 
	License for the specific language governing permissions and - limitations 
	暂时只保留当前内容即可,其他需要的按需求添加
	under the License. -->
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
	<user name="root" defaultAccount="true">
		<property name="password">123456</property>
		<property name="schemas">TESTDB</property>
		<property name="defaultSchema">TESTDB</property>
	</user>
</mycat:server>

2、修改schema.xml文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
        </schema>
        <dataNode name="dn1" dataHost="host1" database="msb" />
        <dataHost name="host1" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!--master mysql-->
                <writeHost host="hostM1" url="mysql地址:端口" user="root"
                                   password="密码">
                <!--slaver mysql-->

                        <readHost host="hostS1" url="mysql地址:端口" user="root" password="密码"></readHost>
                </writeHost>
        </dataHost>
</mycat:schema>
4、启动mycat

​ mycat的启动有两种方式,一种是控制台启动,一种是后台启动,在初学的时候建议大家使用控制台启动的方式,当配置文件写错之后,可以方便的看到错误,及时修改,但是在生产环境中,使用后台启动的方式比较稳妥。

​ 控制台启动:去mycat/bin目录下执行 ./mycat console

​ 后台启动:去mycat/bin目录下执行 ./mycat start

​ 按照如上配置在安装的时候应该不会报错,如果出现错误,根据错误的提示解决即可。

Running Mycat-server...
wrapper  | ERROR: Could not write pid file /usr/local/soft/mycat/logs/mycat.pid: No such file or directory

上述问题需要手动在mycat目录下创建logs
mkdir logs

5、登录验证

管理窗口的登录

​ 从另外的虚拟机去登录访问当前mycat,输入如下命令即可(mycat端口默认为3306)

mysql -uroot -p123456 -P 9066

​ 此时访问的是mycat的管理窗口,可以通过show @@help查看可以执行的命令

数据窗口的登录

​ 从另外的虚拟机去登录访问mycat,输入命令如下:

mysql -uroot -p123456 -P8066

​ 当都能够成功的时候以为着mycat已经搭建完成。

2、读写分离

​ 通过mycat和mysql的主从复制配合搭建数据库的读写分离,可以实现mysql的高可用性,下面我们来搭建mysql的读写分离。

1、一主一从(主从复制的原理之前讲解过了,需要的同学自行参阅文档)

1、在node01上修改/etc/my.cnf的文件

#mysql服务唯一id,不同的mysql服务必须拥有全局唯一的id
server-id=1
#启动二进制日期
log-bin=mysql-bin
#设置不要复制的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information-schema
#设置需要复制的数据库
binlog-do-db=msb
#设置binlog的格式
binlog_format=statement

2、在node02上修改/etc/my.cnf文件

#服务器唯一id
server-id=2
#启动中继日志
relay-log=mysql-relay

3、重新启动mysql服务

4、在node01上创建账户并授权slave

grant replication slave on *.* to 'root'@'%' identified by '123456';
--在进行授权的时候,如果提示密码的问题,把密码验证取消
set global validate_password_policy=0;
set global validate_password_length=1;

5、查看master的状态

show master status

6、在node02上配置需要复制的主机

CHANGE MASTER TO MASTER_HOST='192.168.**.111',MASTER_USER='root',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=437;

7、启动从服务器复制功能

start slave;

8、查看从服务器状态

show slave status\G

​ 当执行完成之后,会看到两个关键的属性Slave_IO_Running,Slave_SQL_Running,当这两个属性都是yes的时候,表示主从复制已经准备好了,可以进行具体的操作了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值