今天配置mysql的主从复制 用到了Amoeba。从安装到启动服务,我深深地体会到学运维的不易。

首先是  安装错误  的解决,连接错误  的兄弟可以直接往下拉。

安装错误

1.出现 JAVA_HOME environment variable is not set. 
可是明明jdk已经安转成功了,java version 显示的也是正常的 
说明 问题一定就出在amoeba的配置上面

[root@localhost bin]# ./amoeba start
Error: JAVA_HOME environment variable is not set.
[root@localhost bin]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK -Bit Server VM (build 25.102-b14, mixed mode)

解决: 
修改/amoeba/bin/amoeba文件,在文件最开头直接写入JAVA_HOME环境变量

JAVA_HOME=/usr/local/src/java/jdk1..0_121

2 出现 The stack size specified is too small, Specify at least 228k 
说明默认配置Xss比较小128k,启动时提示太小

The stack size specified is too small, Specify at least 228k
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

同样也是修改/amoeba/bin/amoeba文件,修改为256k即可

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"

这个时候,进入amoeba的目录下 
执行

./bin/amoeba start

成功的出现以上画面,说明你的Amoeba已经安转成功了。 
但是。。。。 
你以为这样就结束了么,曾经我也是这么天真的认为的。 
直到我花了N个小时才把Amoeba和mysql正常连接成功,希望我的解决方法对你有用 
以下就是Amoeba连接错误的解决方案。 
正常 在网上 我们可以搜到两种的解决方案。

连接错误

第一种 
就是amoedb的dbServers.xml中的password哪一项被注释了,细心的小伙伴一定不会犯这种错误,这种解决方案就是去配置文件把注释消掉,并填写正确的password。 
例如这位兄弟就是这个错误 
http://blog.csdn.net/lwei_998/article/details/7321880

第二种 
就是 数据库的访问权限没有对 amoeba 所在的服务器开启,导致amoeba无法访问数据库 
解决方案:去主数据库和从数据库进入mysql 并输入以下命令

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘密码‘ WITH GRANT OPTION;

再次连接即可。

第三种 
也就是楼主出现错误,错误提示是

java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed

某前辈一番折腾后,觉得是jdk和emoeba之间有冲突(其实并不是),他用的是jdk1.8+emoeba2.2,所以重新换了个jdk1.7+emoeba2.2,还是出现同样的错误,他还不死心,又换了个jdk1.7+emoeba3.0.4,还是同样的错误。又一番测试,十分肯定 是emoeba的问题,数据库能成功连接emoeba,连接后就GG了,开始翻阅配置文件,一句话引起他的注意

<property name="schema">test</property>

这是什么,这是一个test数据库啊,我的databases里面有test数据库么,并没有。 
于是在databases中创建一个test的数据库 。

再次连接,成功!

解决 Amoeba连接mysql出错 解决方案的更多相关文章

  1. vs连接mysql出错解决方法

    vs连接mysql出错解决方法 先按以下的步骤配置一下: **- (1)打开VC6.0 工具栏Tools菜单下的Options选项.在Directories的标签页中右边的"Show dir ...

  2. 如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题

    如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题 开放Mysql的远程连接 在服务器上登录my ...

  3. 解决无法连接mysql问题

    解决无法连接mysql问题 在my.ini文件下加入explicit_defaults_for_timestamp 清空data文件夹 Cmd初始化mysql   输入>Mysqld  --in ...

  4. 永久解决IDEA 连接 mysql时区问题`

    永久解决IDEA 连接 mysql时区问题` 找到mysql的安装路径下的my.ini文件 加入以下代码 [mysqld] default-time_zone='+8:00' 关闭然后保存 打开然后以 ...

  5. Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法

    Navicat for MySQL连接MYSQL

  6. 远程无法连接Mysql 的解决方案

    问题描述: 新安装了MySQL 5.6,使用root用户无法远程连接, 提示Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL ...

  7. 解决远程连接mysql错误1130

    Mysql远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this ...

  8. 解决远程连接mysql很慢的方法(网络正常)

    最近用mysql命令行或者JDBC远程连接mysql速度很慢,而且远大于ping时间.上网搜了一下,解决方案如下: 在/etc/mysql/my.cnf文件的[mysqld]部分加入:skip-nam ...

  9. 解决Navicat连接mysql报错:1862 - Your password has expired. To log in you must change it using a client that supports expired passwords.

    今天尝试用Navicat连接mysql时,发现一个1862的报错问题: 后来参照这篇文章https://blog.csdn.net/u010513756/article/details/5073501 ...

随机推荐

  1. Linux中的位置参数变量

    解释: 主要是向脚本中传递数据,变量名不能自定义,变量作用是固定的 $n $0代表命令本身,$1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如${10}代表接收的第10个参数 $* 代表 ...

  2. vue.js 拦截器

    document.cookie = "mylogin=1";//1:登陆成功:保存登录状态 main.js router.beforeEach((to, from, next) = ...

  3. 【转】api网关

    微服务之API网关 一.引言 随着互联网的快速发展,当前以步入移动互联.物联网时代.用户访问系统入口也变得多种方式,由原来单一的PC客户端,变化到PC客户端.各种浏览器.手机移动端及智能终端等.同时系 ...

  4. 关于付款条件ZTERM 的函数

    函数:PR_WF_PAYMENT_BLOCK_CHECKCALL FUNCTION 'FI_F4_ZTERM' F061 支付的过程条件FI_CHANGE_PAYMENT_CONDITIONS New ...

  5. 系统日志服务rsyslog

    一.系统日志服务rsyslog:多线程,可以基于UDP.TCP.TLS协议进行远程通信,还可以将数据存储到MySQL.PGSQL.Oracle,强大的过滤器,可实现过滤日志信息中任何部分,可以自定义输 ...

  6. 《UNI|X环境高级编程》 源代码配置

    代码下载地址:http://www.apuebook.com/ 下的第二版,里面有个readme文件: root@iZ23onhpqvwZ:~/ms/linux/apue/apue.2e# cat R ...

  7. javascript;json数据,js转换日期方法。

    接收json数据,日期格式为:"\/Date(1414078309687)\/" var value = "/Date(1414078309687)/"; va ...

  8. 无法处理文件 MainForm.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记

    无法处理文件 MainForm.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记.要想处理这些文件,请删除 Web 标记 问题: 由于文件锁定,VS不能正常读取. 解 ...

  9. Linux用户和用户组管理 用户配置和管理的相关文件

    用户信息文件 /etc/passwd 这个文件中保存的就是系统中所有的用户及其对应的用户主要信息. 文件格式 :  第1字段 第2字段 第3字段 第4字段 第5字段 第6字段 第7字段 用户名称 密码 ...

  10. <script>放在head内和body内有什么区别

    加载的顺序不一样,你可以把HTML看成从上往下加载的. 例如在网速慢的情况下把js代码放在body底部用户会先看到网页结构,等js加载完成后才出现特效 区别简述: 在HTML body部分中的Java ...