Mycat连接Mysql8.0及以上问题(已解决)
编辑server.xml 配置文件
vim conf/server.xml
<!-- 修改此位置 -->
<user name="mycat" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<property name="defaultSchema">TESTDB</property>
<!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->
<!-- 表级 DML 权限设置 -->
编辑schema.xml 配置文件
vim conf/schema.xml
<?xtiveml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- name同server.xml中<property name="schemas">TESTDB</property>
dataNode="dn1"中dn1无特殊意义
dataHost="host1"中host1无特殊意义
-->
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
</schema>
<!-- database="centos7"中centos7为writeHost地址中使用的数据库 -->
<dataNode name="dn1" dataHost="host1" database="centos7" />
<!-- balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡;(双主双从)
balance="2",所有读操作都随机的在 writeHost、readhost 上分发。
balance="3",所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力(单主单从)
-->
<dataHost name="host1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 心跳检测 -->
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.148.134:3306" user="root"
password="123456">
<readHost host="hostS1" url="192.168.148.133:3306" user="root" password="123456">
</readHost>
</writeHost>
</dataHost>
</mycat:schema>
启动mycat
[root@localhost mycat]# ./bin/mycat console
问题
[root@localhost bin]# mysql -umycat -p
Enter password:
ERROR 1045 (28000): Access denied for user 'mycat'@'localhost' (using password: YES)
原因分析
Mycat1.6.7默认只兼容mysql5.7和支持java8
问题处理
1.数据库配置my.cnf文件
sql_mode=""
default_authentication_plugin = mysql_native_password
2.修改mycat连接mysql文件
从maven仓库中获取当前版本的jar包mysql-connector-java-8.0.28.jar
将mysql-connector-java-8.0.28.jar 放置在mycat/lib/目录下并删除掉默认的mysql-connector-java-5.1.35.jar
cd /usr/mycat/lib/
//修改权限
[root@localhost lib]# chmod 777 ./mysql-connector-java-8.0.28.jar
rm -f mysql-connector-java-5.1.35.jar
3.登录方式
mysql -umycat -p -P8066 -h127.0.0.1 --default_auth=mysql_native_password