readPool :配置了数据库读库,通常配为Slave或者Slave组成的数据库池,如这里就配置之前的virtualSlave数据库池。
amoeba启动
启动命令:
amoeba start (前台启动可以查看报错信息?
执行:/usr/local/amoeba/bin/amoeba可能会遇到以下错误:The stack size specified is too small, Specify at least 160k Could not create the Java virtual machine.
修改 amoeba 文件,vi /usr/local/amoeba/bin/amoeba,找到如下的文件:
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
将其修改为:
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k
再次执行/usr/local/amoeba/bin/amoeba,如果出现amoeba start|stop 就可以启动amoeba了
# /usr/local/amoeba/bin/amoeba start
此命令以前台的方式启动,会输出启动时的信息,检查没有错误信息后,中断,并后台运行:
nohup amoeba start &(后台启动命令)?
进行mysql操作的时候查看nohup日志发现Could not create a validated object, cause: ValidateObject failed
无法连接,主要可能是:
dbServer.xml中的数据库密码配置 是否出错
数据库名称是否出错 scheme还有一些错误我列出来,
比如 我想把mysql从库改为主库,这时候你更改完所有配置文件,你在主库上边mysql> show master status查看时候,可以看到以前打的连接状态,怎么办?
需要登录mysql 执行以前命令
mysql> slave stop;
mysql>change master to master_host=' '; 就可以了
?
mysql 主从集群做好了后,这时候一不小心从主库上删掉一个数据库数据,从库没有这个数据库,这时候 Slave_SQL_Running: NO,会变成NO,解决方法有两种如下
记录File和Position对应的值。
mysql> show master status; +------------------+-----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+-----------+--------------+------------------+ | mysql-bin.000013 | 330748356| | | +------------------+-----------+--------------+------------------+ 1 row in set (0.00 sec)
到slave服务器上执行手动同步:
mysql> slave stop; mysql> change master to > master_log_file='mysql-bin.000013', > master_log_pos=330748356; 1 row in set (0.00 sec) mysql> slave start; 1 row in set (0.00 sec)
再次查看slave状态发现:
Slave_IO_Running: Yes Slave_SQL_Running: Yes ... Seconds_Behind_Master: 0
解决办法二:
mysql> slave stop; mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql> slave start;
?