Maria DB在Windows服务器上更改datadir

时间:2017-08-16 14:15:17

标签: windows mariadb windows-server

我在我的Windows服务器上安装了MariaDB,并看到它默认数据库存储到的数据库C:\Program Files\MariaDB 10.2\data

我希望它能够移动E:专用于数据库内容的磁盘。

我认为复制datadir然后修改C:\Program Files\MariaDB 10.2\data datadir中的my.ini会解决它,但是当我尝试重启服务时它就不会启动了。 我也尝试将文件夹权限设置为网络服务,但这似乎没有帮助。

如何在Windows上移动我的datadir?

3 个答案:

答案 0 :(得分:2)

经过大量搜索,我偶然发现了http://baazgusht.blogspot.nl/2017/02/change-datadir-of-mariadb-in-window.html

它给了我提示我需要在Windows上移动datadir。

  • 以管理员模式打开cmd(启动搜索cmd,右键单击以管理员身份执行)
  • 输入Net stop MariaDB(或您提供服务的任何内容。对我而言,net stop "MariaDB 10_2_7"
  • CD到C:\program files\mariadb 10.2\(或安装了mariadb的地方)
  • 键入:xcopy data E:\MariaDB /O /X /E /H /K (E:\ MariaDb是我的位置,您可能有另一个位置。将E:\ MariaDB替换为您想要的任何内容,只需使用下面相同的值作为我的数据库。 INI)
  • Xcopy将询问目的地何时不存在,如果它应该是文件或文件夹。选择代表文件夹的选项。
  • 类型:记事本数据/ my.ini
  • datadir=C:\Pro....的值更改为datadir=E:\MariaDB
  • 保存(ctrl + s)
  • 在CMD类型net start mariadb中(或者您为服务命名的任何内容。对我而言,它是net start "MariaDB 10_2_7"

答案 1 :(得分:0)

我认为真正的问题是这个。

MariaDB使用MySQL5.5(或我使用的其他版本的MariaDB10)作为“组用户”来设置数据文件夹的完全权限。但是,此“组用户”不是在Windows“用户和组”下创建的。因此,您无法在“安全性”选项卡上添加此组,也无法将权限设置为另一个文件夹。

有效的解决方法是将原始数据文件夹复制到新位置,并保留原始权限。

但是我的问题是,崩溃后我可以恢复旧的数据文件夹。因此,尚不清楚解决方法是否可行(今晚我会尝试)。我需要设置正确的用户组。

一个真正的错误修复:正确安装MariaDB,以在正确的位置有效地创建“组用户”,而不仅仅是在文件夹权限中使用它。

答案 2 :(得分:-1)

在对此错误感到困惑后,我建议您:

  1. 在Windows路径中使用斜杠,例如C:/MariaDB/DB
  2. 具有足够权限的实验。这似乎可行:

    cacls Path_to_MariaDB_DBData /E /T /P "Network Service":F