centosamoeba+mysql主从集群分离(三)

2015-01-27 18:07:45 · 作者: · 浏览: 66
之前定义的Master数据库

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;

?