Mysql8.x版本主从加读写分离(二) mysql8.x读写分离

Mysql8.x版本主从加读写分离(一) mysql8.x主从_争取不加班!的博客-CSDN博客

Mycata需要使用jdk    单独一台服务器部署的mycat   192.168.11.143

手动上传jdk的包

tar zxvf jdk-8u121-linux-x64.tar.gz  -C /usr/local/   解压

cd /usr/local/

mv jdk1.8.0_121/ java   

vim /etc/profile   配置环境变量

JAVA_HOME=/usr/local/java

PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile  刷新

java -version  看下版本

拉取mycat服务包

wget https://github.com/MyCATApache/Mycat-Server/releases/download/Mycat-server-1675-release/Mycat-server-1.6.7.5-release-20200422133810-linux.tar.gz

tar -xvf Mycat-server-1.6.7.5-release-20200422133810-linux.tar.gz  -C /usr/local/   解压

/usr/local/mycat/conf/server.xml  前端应用程序连接 mycat 的用户信息

/usr/local/mycat/conf/schema.xml  定义逻辑库,表、分片节点等内容

因为版本兼容问题首先要替换一下mycat的5.x的驱动

cd /usr/local/mycat/lib

rm -rf mysql-connector-java-5.1.35.jar

然后下载8.x的驱动

wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar

mv  mysql-connector-java-8.0.18.jar  /usr/local/mycat/lib  移动到对应目录

chmod 777 mysql-connector-java-8.0.18.jar    提权

然后进行对应配置修改

vim /usr/local/mycat/conf/server.xml

如有多个库可以多配置几个代码片段 106-109的配置此片段是配置连接mycat对应的配置

可以称作虚拟用户和虚拟库对应schema.xml 相应配置

vim /usr/local/mycat/conf/schema.xml

以下是配置文件中的每个部分的配置块儿

<schema name="obr2022"           逻辑库名称,与server.xml配置的一致

checkSQLschema="false"     不检查sql

sqlMaxLimit="100"          最大连接数

dataNode="dn1" >         数据节点名称

数据节点

<dataNode name="dn1"             此数据节点的名称对应dataNode="dn1"

dataHost="localhost1"            主机组虚拟的

database="obr2022" />   真实的数据库名称

主机组

<dataHost name="localhost1"                主机组

maxCon="1000" minCon="10"                最大最新连接

balance="3"                              负载均衡读写分离配置3即可

writeType="0"                            写模式配置

dbType="mysql" dbDriver="native"            数据库配置

switchType="1"                          当前节点不可用时自动切换节点

slaveThreshold="100">                从节点支持线程数

   心跳检测配置

  

writeHost host  写节点配置     readHost host    读节点配置 

完整的配置截图

配置完了来到主数据库创建mycat用户

CREATE USER 'mycat'@'%' IDENTIFIED BY 'Zxcvbnm@2022';

GRANT ALL PRIVILEGES ON *.* TO mycat;

flush privileges;

创建一个库以及表方便一会查看是否配置成功

create database obr2022;    创建一个库

create table obr (id int);  创建一个表

insert into obr values (1); 插入数据

启动mycat之前需要调整JVM添加一行配置

vim wrapper.conf

wrapper.startup.timeout=300   超时时间300秒

/usr/local/mycat/bin/mycat start  启动mycat

/usr/local/mycat/bin/mycat  status  查看启动状态

配置完成后启动mycat登录

mysql -umycat -pZxcvbnm@2022 -P8066 -h192.168.11.143 --default-auth=mysql_native_password

因为mycat版本兼容问题都说登录要加这个参数--default-auth=mysql_native_password

然后查看一下mycat的库,这个库是server.xml里配置的虚拟库,实际对应的是schema.xml

配置里database="obr2022"真实库。

进入数据库查看一下表信息

访问和读取正常配置完成。

配置mysql8.x的读写分离遇到了很多问题上面配置完成后如果有问题看对应报错、

ERROR 1045 (HY000): Access denied for user 'mycat', because password is error

如果登录mycat用户提示密码错误的话指定一下mysql的密码验证插件

vim /etc/my.cnf

添加配置

default_authentication_plugin=mysql_native_password

或者直接修改mycat用户的密码策略登录mysql

use mysql

select host ,user ,plugin  from user;   查看一下用户的密码策略我已经替换过了

alter user 'mycat'@'%' identified with mysql_native_password by 'Zxcvbnm@2022';   把mycat的密码策略换成 mysql_native_password  

还有一个错误是ERROR 1184 (HY000): Invalid DataSource:0   数据源无效

1.如果提示数据源无效的话看看配置的逻辑库是否正确

2.看看主节点mycat用户的权限可能是没权限

3.mycat用户的账号密码配置一定要细!

  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值