一:环境,报错与解决办法
1.1:环境
- 使用mysql5.7版本做amoeba代理读写分离
- jdk1.6版本
1.2:报错
- 开启amoeba服务,客户端数据库操作报错
[root@amoeba ~]# netstat -ntap |grep java
tcp6 0 0 :::8066 :::* LISTEN 5579/java
tcp6 0 0 127.0.0.1:58345 :::* LISTEN 5579/java '//发现没有监听主从mysql服务器'
'//从而造成客户端报错'
[root@client ~]# mysql -h 192.168.79.133 -u amoeba -p123456 -P8066 '//登陆客户端'
MySQL [(none)]> show databases; '//操作命令进行报错'
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1295807352
Current database: *** NONE ***
ERROR 2013 (HY000): Lost connection to MySQL server during query
1.2:原因
- 5.7版本和之前的版本有很大区别
- dbServers.xml 配置文件中的schema问题
- 5.7之前的版本mysql数据库自带test数据库
- 5.7版本的mysql数据库没有test数据库,而是mysql数据库
1.3:解决办法
-
修改dbServers.xml 配置文件中的schema
-
[root@amoeba bin]# vim /usr/local/amoeba/conf/dbServers.xml <!-- mysql schema --> <property name="schema">mysql</property> '//原本的test修改为mysql'
-
启动amoeba服务,客户端再次测试