我的mysql服务器配好主从备份后一直正常工作,但最近发现主从不能同步了,查询slave状态正常,用show master status查询主服务器状态如下: File: mysql-bin.000001
Position: 107
Binlog_Do_DB: malldb
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)而且不管数据库如何变化,查询日志位置始终是107,好像master停止写日志文件了,查看mysql错误文件也没发现什么问题,哪位知道这是什么问题啊,如何能解决呢?
malldb库里肯定有更新了,最近对这个库的操作也就是移动了几个表到另外的库里。
如果我在程序里用如下代码,mysql会记录日志:
use mydb;
update tablename set dd='xx' where ..但如果我把上面两条语句合并:update mydb.tablename set dd='xx' where ..则mysql不记录日志文件,这太奇怪了,现在需要用后面一种写法,高手们有什么解决办法吗?
stop slave;
set global sql_slave_skip_counter =1 ;
start slave;再执行上述SQL语句,结果如何
http://dev.mysql.com/doc/refman/5.1/en/replication-options-binary-log.html
不是不支持,是需要指定default database;
楼主是不是在执行语句之前执行了use语句来切换数据库,如果这样的话应该只需要
use malldb;
重新指定一下默认的数据库就可以了。
在程序中修改
OR
mysql -uroot -p123 -D 数据库名来指定
or
在数据库事件中执行 USE 数据库名
[client]
database=你的默认启动数据库名重新启动MYSQL即可
mysql -u -p
可以直接访问设定数据库,但在程序代码中不行,依然要设定指定的数据库。