mysql服务器在线版本为4.1,不支持基于行的二进制日志.不过,我需要基于行的binlog.我可以使用旧mysql生成的binlog并将其导入另一个支持行基binlog的更高版本的mysql来获取基于行的binlog吗?
解决方法:
您无法将binlog转换为其他版本,但只要具有版本4.1的mysqlbinlog,就可以导入其SQL.
只需执行以下操作:
>对MySQL 4.1 binlog运行MySQL 4.1版本的mysqlbinlog,将输出保存到stmts.sql
>在my.cnf中安装MySQL 5.x
> log-bin = mysql-bin
> binlog-format = ROW
>登录MySQL 5.1并运行source stmts.sql
>运行SHOW BINARY LOGS;
完成后,您看到的binlog应该是基于行的.
试试看 !!!
为什么你不能转换? BINLOG Magic Number在以后的版本中被取代.
我之前写过
> 2012年11月30日:How can you monitor if MySQL binlog files get corrupted?
> 2011年2月4日:MySQL master binlog corruption
每次重启mysql时,都会创建下一个空binlog.每个版本的MySQL都有不同的大小:
> MySQL 5.6:120
> MySQL 5.5:107
> MySQL 5.1:106
> MySQL 5.0:98
鉴于此,从头开始生成binlog是最好的方法.
更新:感谢Michael’s Comment,你必须将binlog来自的数据预加载到MySQL 5.1实例中.