• 105434

    文章

  • 803

    评论

  • 12

    友链

  • 比来新加了换肤功能,大年夜家多来走走吧~~~~
  • 爱好这个网站的同伙可以加一下QQ群,我们一路交换技巧。

Mycat连接MySQL 8的时辰所须要留意哪些事项?你知道几项

撸了本年阿里、腾讯和美团的面试,我有一个重要发明.......>>

 一、成绩

MyCat是一个基于MySQl协定的开源的分布式中心件,其核心是分库分表。

然则今朝MyCat仍重要面对MySQL 5.5, 5.6, 5.7版,对最新的MySQL 8还没有完全支撑,须要用户对MySQL 8和MyCat的设备停止一系列的修改。

根据本身的测试成果,对这些修改停止扼要的总结。

2、关于MySql 8

主如果修改Mysql设备文件,在Windows平台是my.ini,在linux平台是my.cnf:

  • 修改缺省加密方法:在装置完MySQL 8后,需将缺省的加密方法修改成mysql_native_password,以保持与5.x版本兼容。
  • 假设是在Linux平台,在初次启动前设置lower_case_table_names = 1(表名大年夜小写不敏感),留意一旦数据库中已稀有据,再如此设置会招致启动mysql掉败。
  • 为防止出现字符集不婚配,最好也显式设置字符集(可选)。

以下是自己应用的my.cnf:

[mysqld]

...

default-authentication-plugin=mysql_native_password

lower_case_table_names=1

character-set-server=utf8

[mysql]

default-character-set=utf8

3、关于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

如许才能成功登录逻辑库。

  • 调换自带的JDBC驱动jar

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

  • 修改jdbc时的url

假设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,二级子表的主动分片正常,没有成绩。

【编辑推荐】



695856371Web网页设计师②群 | 爱好本站的同伙可以收藏本站,或许参加我们大年夜家一路来交换技巧!

1条评论

Loading...
  • s985L

    请问mycat连接mysql8启动成功,然则长途应用对象Navicat连接mycat连接不上是甚么缘由(不是搜集端口的缘由)



自定义皮肤 主体内容背景
翻开付出宝扫码付款购买视频教程
碰到成绩接洽客服QQ:419400980
注册梁钟霖小我博客