我在Windows下使用MySQL ODBC 5.1驱动程序连接到我的数据库。在“初始语句”字段中,我将其配置为在连接开始时运行SET SESSION binlog_format = 'ROW'
。它工作得很好,直到昨天,我需要重新启动mysql数据库服务器。
不是,所有连接都不是使用此binlog格式启动的,而是使用system default。从该服务器运行show variables like '%binlog%'
会显示“STATEMENT”而不是“ROW”。
我尝试在驱动程序中启用调试日志记录,但它没有显示任何有用的信息。尝试重启mysql服务器 - 没有运气。在事件查看器和mysql服务器上查看错误日志 - 没有迹象表明出现任何问题。
任何人都知道可能不在这里的东西吗?
编辑:检查权限(正如Charles建议的那样),并且用户拥有服务器上的所有权限。
答案 0 :(得分:0)
MySQL manual page on changing binlog_format
on the fly表示正在运行的用户必须从5.1.29开始拥有SUPER
priv。您可以检查您正在连接的用户的权限吗?我愿意打赌你的用户不再是SUPER
了,尽管我真的希望MySQL抱怨这个。
答案 1 :(得分:0)
似乎可以通过重新安装驱动程序来解决。