在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools
2024-09-06 21:54:07
项目场景:Mysql 实现数据库读写分离
搭建3台MySQL服务器,完成主从复制,搭建一台amoeba服务器,完成MySQL的读写分离
问题描述:
问题1、
在服务搭建完毕后,利用客户机连接amoeba服务器登录数据库,无法查看数据库内容
客户端报错的数据代码:
mysql> show databases; #显示数据库
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1545595021
Current database: *** NONE ***
amoeba服务端报错的代码数据:
java.lang.Exception: poolName=slaves, no valid pools
at com.meidusa.amoeba.net.poolable.MultipleLoadBalanceObjectPool.borrowObject(MultipleLoadBalanceObjectPool.java:183)
at com.meidusa.amoeba.mysql.handler.CommandMessageHandler.startSession(CommandMessageHandler.java:633)
at com.meidusa.amoeba.mysql.handler.MySqlCommandDispatcher.handleMessage(MySqlCommandDispatcher.java:123)
......
原因分析:
amoeba的数据库文件第23行,这里默认对应的MySQL库为text,我这里使用的MySQL版本为5.7版本,默认的库为mysql,所以找不到默认的库,我之前搭建的MySQL版本是5.5是不需要修改的,没注意到这一点
23 <property name="schema">text</property>
解决方案:
将amoeba的数据库文件第23行,默认对应的MySQL库修改为mysql。
<property name="schema">mysql</property>
问题2、
在服务搭建完毕后,利用客户机连接amoeba服务器登录数据库,无法查看数据库表里的内容
客户端报错的数据代码:
mysql> select * from test #查看test库里的test表
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1545595021
Current database: *** NONE ***
amoeba服务端报错的代码数据(相同的报错):
java.lang.Exception: poolName=slaves, no valid pools
at com.meidusa.amoeba.net.poolable.MultipleLoadBalanceObjectPool.borrowObject(MultipleLoadBalanceObjectPool.java:183)
at com.meidusa.amoeba.mysql.handler.CommandMessageHandler.startSession(CommandMessageHandler.java:633)
at com.meidusa.amoeba.mysql.handler.MySqlCommandDispatcher.handleMessage(MySqlCommandDispatcher.java:123)
......
原因分析:
部署主从复制时,没有给amoeba用户授权
解决方案:
在mysql所有节点上 给test用户授权
mysql> grant all on *.* to 'test'@'192.168.220.%' identified by '1234.Com';
Query OK, 0 rows affected, 1 warning (0.00 sec)
最新文章
- spring装配---处理自动装配的歧义性
- 疯狂java学习笔记之面向对象(八) - static和final
- 洛谷 P1074 靶形数独 Label:search 不会
- Request.Form()的使用
- python+Eclipse+pydev环境搭建(转)
- Linux Systemcall Int0x80方式、Sysenter/Sysexit Difference Comparation
- 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法
- 命令行参数的处理函数getopt
- A Simple Problem with Integers(线段树入门题)
- BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞
- 交叉编译:cannot find /lib/libc.so.6 collect2: ld returned 1 exit status
- 团队作业4——第一次项目冲刺(Alpha版本)4.27
- JiaThis分享
- WPF自学入门(十一)WPF MVVM模式Command命令
- fastJson反序列化异常,JSONException: expect &#39;:&#39; at 0, actual =
- 20个可用于商业用途的免费 CC0 授权的高分辨率图库
- angular把echarts封装为指令(配合requirejs)
- 2019.01.21 bzoj2441: [中山市选2011]小W的问题(树状数组+权值线段树)
- Android APP测试流程
- Reloading Java Classes 101: Objects, Classes and ClassLoaders Translation