CentOS7 mycat 连接mysql8.x 配置及报错解决

一、CentOS7安装MYCAT中间件
JAVA环境安装:            https://www.cnblogs.com/chaizhenhua/p/12383859.html
Mycat官方网站地址:        http://www.mycat.io/
Mycat程序下载地址:        http://dl.mycat.io/

1、下载Mycat程序二进制包:

[root@local-test ~]# wget http://dl.mycat.io/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
[root@local-test ~]# ls
Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
[root@local-test ~]#

2、安装Mycat
a.解压

[root@local-test ~]# tar xf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz -C /usr/local/
[root@local-test ~]# ll /usr/local/
总用量 0
drwxr-xr-x  7 root  root   85 2月  28 14:02 mycat

b.Mycat目录结构:

[root@local-test ~]# cd /usr/local/mycat/
[root@local-test mycat]# ll
总用量 12
drwxr-xr-x 2 root root  190 2月  28 14:02 bin                         #启动脚本
drwxrwxrwx 2 root root    6 10月 22 09:26 catlet                  #这个目前还没有实际意义,先忽略
drwxrwxrwx 4 root root 4096 2月  28 14:02 conf                 #配置文件目录
drwxr-xr-x 2 root root 4096 2月  28 14:02 lib                        #程序需要的各种包
drwxrwxrwx 2 root root    6 1月   5 03:40 logs                        #日志目录
-rwxrwxrwx 1 root root  227 1月   5 03:41 version.txt            #版本信息
[root@local-test mycat]#

c.启动Mycat

[root@local-test ~]# cd /usr/local/mycat/bin/
[root@local-test bin]# ./mycat start
Starting Mycat-server...
[root@local-test bin]#

d.检测mycat启动是否成功

[root@local-test bin]# ps -ef|grep mycat

mycat默认用户名密码是:root/123456

 

1 、登录后台管理窗口
此登录方式用于管理维护 Mycat

mysql -umycat -p123456 -P 9066 -h 192.168.140.128

#常用命令如下:

show database

2 、登录 数据 窗口
此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat

mysql -umycat -p123456 -P 8066 -h 192.168.140.128
mysql -umycat -p123456 -h127.0.0.1 -P8066 --default-auth=mysql_native_password

启动MyCat:
 

./mycat start
控制台启动:./mycat console

查看启动状态:

./mycat status

停止:

./mycat stop

重启:

./mycat restart

---------------------------------------------------------------------------------------------------------------------------------

登陆报错:Using a password on the command line interface can be insecure.
ERROR 1045 (HY000): Access denied for user 'mycat', because password is error

[root@localhost ~]# mysql -umycat -p123456 -h127.0.0.1 -P8066
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (HY000): Access denied for user 'mycat', because password is error

解决方法:

1、修改server.xml,增加:

		<property name="defaultSqlParser">druidparser</property>
		<property name="useHandshakeV10">1</property>  <!--(这里记得修改,没有的话要加上)-->
		<property name="mutiNodeLimitType">1</property>
		<property name="charset">utf8</property>
		<property name="serverPort">8066</property>
		<property name="managerPort">9066</property>

2、修改schema.xml,将 dbDriver="native"改为dbDriver="jdbc",并将url改为jdbc方式,内容如下:

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
		<!-- auto sharding by id (long) -->
		<!-- <table name="travelrecord" dataNode="dn1" rule="auto-sharding-long" /> -->

		<!-- <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" /> -->
	</schema>
	
	<dataNode name="dn1" dataHost="localhost1" database="mycatdb" />

	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100"> <!-- dbDriver="native" -->
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="hostM1" url="jdbc:mysql://localhost:3306?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF8&amp;serverTimezone=UTC" user="root" password="root">
			<!-- can have multi read hosts -->
			<readHost host="hostS2" url="jdbc:mysql://192.168.232.135:3306?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF8&amp;serverTimezone=UTC" user="root" password="root" />
		</writeHost>
	</dataHost>
</mycat:schema>

3、重新启动mycat

4、登陆mycat,在后面指定mysql客户端连接时的加密方式:--default-auth=mysql_native_password

[root@localhost ~]# mysql -umycat -p123456 -h127.0.0.1 -P8066 --default-auth=mysql_native_password

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章