十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Mycat 目前還未全面支持MySQL 8以上的版本,可能會(huì)導(dǎo)致一些問題,例如Mycat連接MySQL 8時(shí)可能會(huì)報(bào)密碼錯(cuò)誤,因?yàn)樾掳娴拿艽a加密方式與舊版不一樣。還有就是時(shí)區(qū)問題,新版的連接方式需要增加時(shí)區(qū)參數(shù)。除此之外,可能還會(huì)有一些其他問題。因此,我們需要更改Mycat的一些配置,讓其能正常連接MySQL 8.x。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供豐臺(tái)網(wǎng)站建設(shè)、豐臺(tái)做網(wǎng)站、豐臺(tái)網(wǎng)站設(shè)計(jì)、豐臺(tái)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、豐臺(tái)企業(yè)網(wǎng)站模板建站服務(wù),十年豐臺(tái)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
首先需要下載8.x版本的驅(qū)動(dòng),Mycat 默認(rèn)的MySQL驅(qū)動(dòng)版本為5.x。到maven中央倉庫上復(fù)制8.x驅(qū)動(dòng)jar包的下載地址,然后到Linux上使用wget命令進(jìn)行下載:
[root@txy-server ~]# cd /usr/local/src
[root@txy-server /usr/local/src]# wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar將驅(qū)動(dòng)包移動(dòng)到mycat的lib目錄下,并刪除原本的5.x驅(qū)動(dòng)包:
[root@txy-server /usr/local/src]# mv mysql-connector-java-8.0.18.jar /usr/local/mycat/lib/
[root@txy-server /usr/local/src]# rm -rf /usr/local/mycat/lib/mysql-connector-java-5.1.35.jar接著使用chmod命令設(shè)置該驅(qū)動(dòng)包的權(quán)限:
[root@txy-server /usr/local/mycat]# chmod 777 lib/mysql-connector-java-8.0.18.jar
修改位于conf目錄下的schema.xml配置文件,目的是更改Mycat連接MySQL的方式:
[root@txy-server /usr/local/mycat]# vim conf/schema.xml修改dataHost標(biāo)簽中的dbDriver屬性為jdbc,以及修改 writeHost 標(biāo)簽中的url屬性:
select user()
修改位于conf目錄下的server.xml配置文件:
[root@txy-server /usr/local/mycat]# vim conf/server.xml將useHandshakeV10設(shè)置為1,如果沒該標(biāo)簽則添加即可:
1
...
重啟 Mycat:
[root@txy-server /usr/local/mycat]# mycat stop
Stopping Mycat-server...
Stopped Mycat-server.
[root@txy-server /usr/local/mycat]# mycat start
Starting Mycat-server...
[root@txy-server /usr/local/mycat]# 在測(cè)試能否正常連接 Mycat 時(shí)又遇到了另一個(gè)問題,使用MySQL 8.x的客戶端工具連接 Mycat 報(bào)了個(gè)密碼錯(cuò)誤:
[root@txy-server ~]# mysql -uroot -p -P9066 -h227.0.0.1
Enter password:
ERROR 1045 (HY000): Access denied for user 'root', because password is error
[root@txy-server ~]#同樣,這也是因?yàn)镸ySQL 8以上的版本與之前版本的密碼加密方式不一樣。而 Mycat 目前還是只支持5.x版本的加密方式,所以使用8以上版本的MySQL客戶端工具連接Mycat時(shí)就會(huì)報(bào)密碼錯(cuò)誤。
解決方式主要有兩種,一是指定mysql客戶端連接時(shí)的加密方式。如下示例:
[root@txy-server ~]# mysql -uroot -p -P9066 -h227.0.0.1 --default-auth=mysql_native_password二是采用5.x版本的MySQL客戶端工具來連接 Mycat。如下示例:
[root@txy-server /usr/local/mysql-5.7.28]# bin/mysql -uroot -p -P9066 -h227.0.0.1