项目场景: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)

在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools的更多相关文章

  1. 谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching

    最近在学习Spring+SpringMVC+MyBatis,一个人的挖掘过程确实有点艰难,尤其是有一些神奇的报错让你会很蛋疼.特别是接触一些框架还是最新版本的时候,会因为版本问题出现很多错误,欢迎大家 ...

  2. junit 测试报错 java.lang.Exception: No runnable methods

    转自:http://blog.csdn.net/snails_zx/article/details/51275894 在maven 项目中  建立测试类时,基类只用作加载spring配置文件,里面没有 ...

  3. 使用 JUnit 报错 java.lang.Exception: No runnable methods

    错误详情如下: java.lang.Exception: No runnable methods at org.junit.runners.BlockJUnit4ClassRunner.validat ...

  4. Hadoop运行jar包报错java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException: 1

    错误信息: java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException: 1    at org.apache.hadoop.mapre ...

  5. 已解决: idea创建并部署SpringMVC项目时 报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    用IDEA创建并运行SpringMVC项目时,最初发现没有Servlet包,这个问题已在上篇解决,然而当我们尝试去运行此时的SpringMVC项目时,发现仍然有错误.ClassNotFoundExce ...

  6. JUnit报错 java.lang.Exception:No tests found matching

    将 @RunWith(SpringRunner.class)@SpringBootTestpublic class BusinessTest { @Test public void getList() ...

  7. 【原创】大叔问题定位分享(2)spark任务一定几率报错java.lang.NoSuchFieldError: HIVE_MOVE_FILES_THREAD_COUNT

    最近用yarn cluster方式提交spark任务时,有时会报错,报错几率是40%,报错如下: 18/03/15 21:50:36 116 ERROR ApplicationMaster91: Us ...

  8. 云笔记项目- 上传文件报错"java.lang.IllegalStateException: File has been moved - cannot be read again"

    在做文件上传时,当写入上传的文件到文件时,会报错“java.lang.IllegalStateException: File has been moved - cannot be read again ...

  9. java含有静态代码块新建的时候报错java.lang.ExceptionInInitializerError

    问题描述 最近在写一些单元测试用例,为了避免连接外界服务,所有选择mock了数据库Dao层,计划将数据库所需要的数据存在List中,在类加载的时候初始化List并且填充数据.代码如下: public ...

随机推荐

  1. 前端 关于请求地址时出现乱码, 出现%E2%80%8B的问题

    做项目时,添加了新的一个接口,习惯性地复制了接口下来.然后测试发现 请求时自动添加 了几个%E2%80%8B这种乱码. 问题原因: 我输出请求地址时也是正确的,是因为复制过来的接口地址会有零宽空格 解 ...

  2. GO的日志库log竟然这么简单!

    前言 最近在尝试阅读字节开源RPC框架Kitex的源码,看到日志库klog部分,果不其然在Go原生的log库的基础上增加了自己的设计,大体包括增加了一些格式化的输出.增加一些常用的日志级别等. 一番了 ...

  3. python常用标准库(os系统模块、shutil文件操作模块)

    常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...

  4. 计算机环境变量的配置,以java为例以及eclipse简要设置

    安装JDK时可以不安装公共jre.因为好多软件和浏览器已经默认自带的jre了,或者自动调用系统的了. 在java 中需要设置三个环境变量(1.5之后不需要再设置CLASSPATH了,但需要的话可以设置 ...

  5. kafka优劣

    kafka优势 可扩展:Kafka集群可以透明的扩展,增加新的服务器进集群. 高性能:Kafka性能远超过传统的ActiveMQ.RabbitMQ等,Kafka支持Batch操作. 容错性:Kafka ...

  6. 前端学习 linux —— shell 编程

    前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...

  7. 重学ES系列之新型数据结构Map应用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. DirectX11 With Windows SDK--06 使用ImGui

    前言 Dear ImGui是一个开源GUI框架.除了UI部分外,本身还支持简单的键鼠交互.目前项目内置的是V1.87版本,大概半年时间会更新一次版本,并且对源码有小幅度调整. 注意:直接下载源码使用会 ...

  9. NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分页获取数据失败

    问题代码如下: var result=repository.QueryOver<modal>() .Where(p=>p.Code==Code) .OrderBy(p=>p.I ...

  10. java web 三层架构设计

    界面层(表示层):用户看得到的,可以通过此与服务器交互 业务逻辑层:处理业务逻辑. 数据访问层:操作数据存储文件