Mycat连接MySQL 8的时候所需要注意哪些事项?你知道几项
|
一、问题 MyCat是一个基于MySQl协议的开源的分布式中间件,其核心是分库分表。
但是目前MyCat仍主要面对MySQL 5.5, 5.6, 5.7版,对最新的MySQL 8尚未完全支持,需要用户对MySQL 8和MyCat的配置进行一系列的修改。 根据自己的测试结果,对这些修改进行简要的总结。 二、关于MySql 8 主要是修改Mysql配置文件,在Windows平台是my.ini,在linux平台是my.cnf:
以下是本人使用的my.cnf: [mysqld] ... default-authentication-plugin=mysql_native_password lower_case_table_names=1 character-set-server=utf8 [mysql] default-character-set=utf8 三、关于MyCat 主要涉及三个方面。
Mycat登录逻辑库的传统方式是:mysql -uroot -p -h127.0.0.1 -P8066 -DTESTDB 但对于MySql 8,会报密码错误方式,这是由于Mysql 8的缺省加密方式已经改为caching_sha2_password,而MyCat对此尚不支持。为此,需加上--default_auth=mysql_native_pasowrd选项: mysql -uroot -p -h127.0.0.1 -P8066 -DTESTDB --default_auth=mysql_native_pasowrd 这样才能成功登录逻辑库。
MyCat自带的JDBC驱动jar还是5.1.x版的,若使用JDBC连接MySql 8,会报错“Java.sql.SQLException: Unknown system variable 'query_cache_size'”。必须用8.0.x版的JDBC驱动jar代替才行,本人使用的下载地址是: http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/ mysql-connector-java-8.0.11.jar
如果dataHost的driverType为JDBC,则还需要修改url,增加useSSL=false和serverTimezone=UTC选项,某些情况下还需加上characterEncoding=utf8选项(可选),例如: url="jdbc:mysql://192.168.64.187:3306?useSSL=false&serverTimezone=UTC& characterEncoding=utf8" 四、其它 前一个实验里,Mycat用JDBC连接PostgreSQL等数据库时,发现无法实现二级子表的自动分片。但对于MySql 8,二级子表的自动分片正常,没有问题。 【编辑推荐】
点赞 0 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows – 使用Azure AD推送组策略设置
- 如何在两个站点之间配置没有共享存储的拉伸群集?
- windows-7 – 如何在Windows 7中使用PowerShell或命令行打开
- 到底什么是Linux内核?2000多字精华解释
- windows-7 – 如果我安装了Windows7 RC,我需要稍后重新编写
- 如何在Windows 8 Metro应用程序中处理HTML内容
- 戴尔电脑win10更改win7的bios设置
- QQ for Linux 复活,微信 for Linux 还会远吗?
- Win7系统使计算机更顺畅地调整教程
- windows-server-2008 – 当Exchange信息存储服务停止时,会受


