问题描述:一台机器为主,一台机器为备,配置比较简单,感觉应该没问题,mysql主备版本都是5.0.95-log。
在主机上执行:show master status显示如下:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1557 | mydb | |
+------------------+----------+--------------+------------------+
在备机上执行:show slave status\G显示如下:
************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.200.37
Master_User: yhc
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 1557
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 479
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: mydb
从打印上看显示同步成功了。在主机的>mysql终端上执行insert命令,查看主机和备机同步成功。
但是在主机用如下命令执行则同步不成功。
mysql -h127.0.0.1 -uroot -e "insert into mydb.t2 values(1)"
写了一个压力测试程序想看看备机同步能力,同步也不成功。请教各位,在>mysql终端上执行命令和用程序执行命令有什么差别吗?
在主机上执行:show master status显示如下:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1557 | mydb | |
+------------------+----------+--------------+------------------+
在备机上执行:show slave status\G显示如下:
************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.200.37
Master_User: yhc
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 1557
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 479
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: mydb
从打印上看显示同步成功了。在主机的>mysql终端上执行insert命令,查看主机和备机同步成功。
但是在主机用如下命令执行则同步不成功。
mysql -h127.0.0.1 -uroot -e "insert into mydb.t2 values(1)"
写了一个压力测试程序想看看备机同步能力,同步也不成功。请教各位,在>mysql终端上执行命令和用程序执行命令有什么差别吗?
要么配置文件把replicat-do-db去掉 然后重启
要么mysql -h127.0.0.1 -uroot -e "insert into mydb.t2 values(1)"改成
mysql -h127.0.0.1 -uroot mydb -e "insert into t2 values(1)"有些版本是有这个问题
server-id = 1
log-bin=mysql-bin
relay_log=mysql-relay-bin
binlog-do-db=mydb备机配置加了下面的参数
server-id=2
log-bin=mysql-bin
relay_log=mysql-relay-bin
replicate-do-db = mydb