Mycat интегрировать MySQL 8.x активизировали яму практики

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

рекомендация

отblog.51cto.com/zero01/2466009