一、前提
mycat是基于java开发,所以在安装mycat之前需要先安装好jdk1.8环境
二、安装mysql8.0
1、创建/usr/local/devlop/mysql8,将mysql8压缩包放入该路径下,解压
#创建文件夹
mkdir -p /usr/local/devlop/mysql8
#在线下载
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
#解压
tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
2、安装
#安装common
rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm
#安装libs
rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm --nodeps --force
#安装client
rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm --nodeps --force
#安装server
rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm --nodeps --force
#查看mysql安装包
rpm -qa | grep mysql
3、修改sql_model
#进入mysql配置文件
vim /etc/my.cnf
#在配置文件中添加
sql_mode = NO_ENGINE_SUBSTITUTION
bind-address = 0.0.0.0
4、通过以下命令,完成对 mysql 数据库的初始化和相关配
#初始化mysql
mysqld --initialize
#赋予权限(采坑点、一定要赋权)
chmod -R 777 /var/lib/mysql /var/log/mysqld.log
#启动服务
systemctl start mysqld.service
#设置开机启动
systemctl enable mysqld
5、修改数据库初始密码
#查看初始密码
cat /var/log/mysqld.log | grep password
#登陆数据库
mysql -uroot -p
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '******'
#exit; 退出重新登陆验证密码修改是否成功
6、通过以下配置,允许远程访问
#创建远程登陆用户
create user 'root'@'%' identified with mysql_native_password by '*****'
#赋权
grant all privileges on *.* to 'root'@'%' with grant option
#刷新权限
flush privileges
7、修改加密规则
#mysql8远程连接需修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '*****' PASSWORD EXPIRE NEVER
ALTER USER 'root'@'%' IDENTIFIED BY '*****' PASSWORD EXPIRE NEVER
#刷新权限
flush privileges
8、注意
如需远程链接,防火墙需开放3306端口
9、本项目特定配置
导入数据库,存储过程
二、安装mycat1.6(到/usr/local/mycat)
1、创建/usr/local/devlop/mycat,将mycat压缩包放入该路径下,解压
#创建文件夹
mkdir -p /usr/local/devlop/mycat1.6
#解压
tar -xvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
#将mycat 移动到/usr/local/
mv mycat/ /usr/local/
2、配置mycat环境变量
#进入配置文件
vim /etc/profile
在最后加入如下两行配置
export JAVA_HOME JAVA_BIN PATH CLASSPATH
export MYCAT_HOME=/usr/local/mycat
#刷新权限
source /etc/profile
3、文件夹赋权
chmod -R 777 /usr/local/mycat
5、配置分库分表(当前项目配置已存在)
在保证数据库密码配置的正确的情况下,直接替换如下四个文件
6、进入mycat目录的bin目录,启动mycat
#启动
./mycat start
停止:
./mycat stop
mycat 支持的命令{ console | start | stop | restart | status | dump }
Mycat的默认端口号为:8066
7、登陆、测试
#登陆
mysql -uroot -p****** -h127.0.0.1 -P8066 -DAIRBUSDB --default-auth=mysql_native_password
执行sql语句,能返回对的结果,说明安装成功
8、设置开机自启
方法一:
建立软连接
#格式 ln -s /安装目录/bin/mycat /etc/init.d/mycat
ln -s /usr/local/mycat/bin/mycat /etc/init.d/mycat
启动
service mycat start
若启动后自动退出,在mycat/conf/wrapper.conf文件中添加java路径
加入开机自启
chkconfig --add mycat
方法二:
编写启动脚本/etc/init.d/mycat
#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop Mycat
REDISPORT=8066
EXEC=/usr/local/mycat/bin/mycat
PIDFILE=/usr/local/mycat/logs/mycat_${REDISPORT}.pid
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Mycat server..."
$EXEC start
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$EXEC stop
while [ -x /proc/${PID} ]
do
echo "Waiting for Mycat to shutdown ..."
sleep 1
done
echo "Mycat stopped"
fi
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
赋权、启动、加入开机自启
chmod -R 777 /etc/init.d/mycat
service mycat start
chkconfig redis on