MySQL二进制日志位置Windows 2008 Server

我使用IIS,PHP和MySQL运行Windows 2008 Server。 MySQL作为服务安装。 有服务器上的软件,使用我需要备份的数据库,包括事务日志logging。 我通过在my.ini文件中设置log-bin =expire_logs_days =来打开二进制日志logging。 这将这些日志保存在该驱动器上的MySQL数据文件夹中。 如果我失去了驱动力,我就失去了日志,而且他们也没有做好我的备份。

我已经find了将这些日志迁移到Linux机器上的各种build议,但试图使用在log-bin语句中包含path的相同想法不起作用。 我已经尝试了“翻转”斜杠,在将Linux“翻译”到Windows时添加引号和常见的其他尝试。

我创build了映射的驱动器到外部位置,以使这更容易,我已经尝试使用\服务器\文件夹path语句以及z:\path语句。

任何帮助将不胜感激。

如果你在my.ini文件的[mysqld]部分进行了更改,那么你应该很好。 正确的路径命名约定,应该看起来像这样log-bin="C:/yourfilepathname/logs" 。 由于您仍然遇到问题,请检查以确保mysql有权写入您指定要写入日志文件的目录。

另一种方法,你可以检查是否是这个问题,当你试图停止和启动mysql服务器时,转到你的.err日志文件,它会告诉你一些东西,没有权限写入该目录。

另外,我会注意到它本身的日志文件不是备份。 您需要从服务器上获取整个目录的mysqldumps或快照,最好是从主生产服务器的从服务器。

你错过了一个斜杠。

这里是我的my.ini(我使用MariaDB 10.1,但我相信这也适用于你):

 [mysqld] datadir=D:/mysql-data log-bin=E:/mysql-bin/ 

当我在log-bin设置中忽略了斜线时,我在日志中也遇到同样的错误,并且服务启动失败。 添加斜杠后,没有错误,服务启动成功。

我现在看到在E:\ mysql-bin中创建的文件,例如.index,.000001。

其实这是由于使用正常的窗口反斜杠。 而不是z:\ use z:/(正斜杠)。 另外,如果你不以正斜线结束,那么它将使用最后一部分作为文件名。 exp:z:/ bin-logs /(这将有文件命名.index和.000001)z:/ bin-logs / log(这将有文件名为log.index和log.000001)