溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mycat整合MySQL過程報(bào)錯(cuò)的解決方法

發(fā)布時(shí)間:2020-06-06 18:44:32 來源:億速云 閱讀:1179 作者:Leah 欄目:MySQL數(shù)據(jù)庫(kù)

Mycat整合MySQL過程報(bào)錯(cuò)怎么辦?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。通過這個(gè)問題,希望你能收獲更多。下面是解決這個(gè)問題的步驟內(nèi)容。

下載8.x版本的驅(qū)動(dòng)

首先需要下載8.x版本的驅(qū)動(dòng),Mycat 默認(rèn)的MySQL驅(qū)動(dòng)版本為5.x。到maven中央倉(cāng)庫(kù)上復(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 

修改 schema.xml

修改位于conf目錄下的schema.xml配置文件,目的是更改Mycat連接MySQL的方式:

[root@txy-server /usr/local/mycat]# vim conf/schema.xml

修改dataHost標(biāo)簽中的dbDriver屬性為jdbc,以及修改 writeHost 標(biāo)簽中的url屬性:

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
          writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100">
    <heartbeat>select user()</heartbeat>
    <writeHost host="hostM1" 
               url="jdbc:mysql://192.168.130.28:3306?useSSL=false&serverTimezone=GMT%2B8" 
               user="root"
               password="123456">
    </writeHost>
</dataHost>

修改 server.xml

修改位于conf目錄下的server.xml配置文件:

[root@txy-server /usr/local/mycat]# vim conf/server.xml

useHandshakeV10設(shè)置為1,如果沒該標(biāo)簽則添加即可:

<system>
    <property name="useHandshakeV10">1</property>
    ...
</system>

重啟 Mycat 并測(cè)試

重啟 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

看完這篇文章,你能夠獨(dú)立解決Mycat整合MySQL過程報(bào)錯(cuò)的問題了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI