2016-04-02 87 views
0

我是一个SQL Server的家伙,只是在最近才决定冒险到MySQL的世界,遇到了被阻止我前进的问题:(MariaDB的在Windows 8的InnoDB错误

我已经安装MariaDB的和开始运行

mysqld.exe --console

测试安装并收到以下错误

[ERROR] InnoDB: .\ibdata1 can't be opened in read-write mode 

我已经做了相当多的研究,并没有找到可行的解决方案。

我曾尝试以下:

经过用户权限ibdata1中的包含文件夹它位于C:\ Program Files文件\ MariaDB的10.1 \数据,一切看起来是正确的。

我已经尝试从上述位置删除ibdata1和日志文件,停止mysql并重新启动。

我已尝试修复该应用程序。

我试过卸载并重新安装。

这些都没有奏效。

如果您有任何可能帮助到我的信息,请让我知道。

这是在Windows 8上,MariaDB版本10.1.13。

谢谢!

+0

按照戴的建议,使用'mysql',而不是'mysqld'与服务器通话。 –

+0

@RickJames请说明一下? – David

+0

在后台设置mysqld作为服务器(服务)不要手动运行它。运行'mysql'作为客户端;让它与mysqld交谈。 –

回答

1

您正在交互式地从控制台运行MariaDB,这意味着您正在本地用户帐户安全上下文中运行它。我猜测命令提示窗口并没有先提升,所以你的安全级别不会授予你在%programfiles%下写入任何东西的权限。

有两种选择:

  1. 更改MariaDB的配置文件存储%ALLUSERSPROFILE%下(这是C:\ProgramData在Windows 8)或您的本地用户帐户。
  2. 运行MariaDB作为后台服务,并拥有自己的用户帐户(服务标识,或许,如果您对此适用,否则是普通用户帐户),并具有适当的权限。

出于好奇,为什么运行Windows 8而不是Windows 8.1?

+0

感谢您的回复!我没有忘记提及我在尝试上述操作时以管理员身份运行cmd。以管理员身份运行时,这会保持不变吗? – David

+0

我正在运行Windows 8,因为我公司的系统管理员处理所有的Windows更新,并且我还没有收到Windows 8.1更新......在这个速度下,我们将直接跳到Windows 10. – David

+0

另外,正如我上面提到的,我删除了ibdata和日志文件,并且Maria能够重新创建它们。这导致我相信我的权限很好。 – David

0

MariaDB MSI在C:\ Program Files \ MariaDB ... \ data下安装数据目录(与SQLServer没什么不同,其中数据目录也位于安装根目录下)。在安装过程中,您被问到是否要作为服务进行安装。对此表示“是”,然后您不需要在控制台窗口上启动mysqld,它已经在那里,作为服务运行。

也许这个服务已经在运行了,因此第二次尝试打开文件(当你运行mysqld --console的时候)并不成功。