Mycat до сих пор не в полной мере поддерживает более 8 версии MySQL, может вызвать некоторые проблемы, такие как Mycat подключение MySQL пароль может сообщать об ошибках 8:00, так как новая версия метода шифрования паролей, а не такой же, как в старой версии. Существует проблема зоны времени, новые соединения нужно увеличить параметры часового пояса. Кроме того, там могут быть некоторые другие вопросы. Поэтому нам нужно изменить некоторые настройки Mycat, пусть нормальное соединение MySQL 8.x.
Скачать драйвер версии 8.x
Сначала необходимо загрузить 8.x
версию драйвера, Mycat MySQL по умолчанию версии драйвера 5.x
. Maven центрального хранилища копия 8.x драйвера банка пакет на адрес загрузки, а затем использовать Linux wget
команду для загрузки:
[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
Пакет драйверов mycat перейти к lib
следующему каталогу и удалить исходный 5.x
пакет драйверов:
[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
команду , чтобы установить права доступа пакета привода:
[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
тег dbDriver
атрибуты jdbc
, и изменение writeHost
тегов 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
Набор 1
, если вы не можете добавить тег:
<system>
<property name="useHandshakeV10">1</property>
...
</system>
Перезагрузка и тест Mycat
Перезапуск 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]#
При тестировании ли обычное время соединения Mycat и столкнулся с другой проблемой, использование MySQL 8.x клиентских инструментов для подключения Mycat сообщил неправильный пароль:
[root@txy-server ~]# mysql -uroot -p -P9066 -h127.0.0.1
Enter password:
ERROR 1045 (HY000): Access denied for user 'root', because password is error
[root@txy-server ~]#
Опять же, это происходит потому, что MySQL версии 8 или более ранние версии методов шифрования пароля не совпадают. Mycat по-прежнему поддерживает только версии 5.x шифрование, поэтому использование клиентских средств 8+ MySQL сообщит неправильный пароль при подключении Mycat.
Есть два основных решения, первым задать режим шифрования, когда MySQL клиентских подключений. Следующий пример:
[root@txy-server ~]# mysql -uroot -p -P9066 -h127.0.0.1 --default-auth=mysql_native_password
Во-вторых, использование MySQL версии 5.x клиента инструментов для подключения Mycat. Следующий пример:
[root@txy-server /usr/local/mysql-5.7.28]# bin/mysql -uroot -p -P9066 -h127.0.0.1