我在我的Windows服务器上安装了MariaDB,并看到它默认数据库存储到的数据库C:\Program Files\MariaDB 10.2\data
我希望它能够移动E:专用于数据库内容的磁盘。
我认为复制datadir然后修改C:\Program Files\MariaDB 10.2\data
datadir中的my.ini会解决它,但是当我尝试重启服务时它就不会启动了。
我也尝试将文件夹权限设置为网络服务,但这似乎没有帮助。
如何在Windows上移动我的datadir?
答案 0 :(得分:2)
经过大量搜索,我偶然发现了http://baazgusht.blogspot.nl/2017/02/change-datadir-of-mariadb-in-window.html
它给了我提示我需要在Windows上移动datadir。
Net stop MariaDB
(或您提供服务的任何内容。对我而言,net stop "MariaDB 10_2_7"
C:\program files\mariadb 10.2\
(或安装了mariadb的地方)xcopy data E:\MariaDB /O /X /E /H /K
(E:\ MariaDb是我的位置,您可能有另一个位置。将E:\ MariaDB替换为您想要的任何内容,只需使用下面相同的值作为我的数据库。 INI) datadir=C:\Pro....
的值更改为datadir=E:\MariaDB
net start mariadb
中(或者您为服务命名的任何内容。对我而言,它是net start "MariaDB 10_2_7"
答案 1 :(得分:0)
我认为真正的问题是这个。
MariaDB使用MySQL5.5(或我使用的其他版本的MariaDB10)作为“组用户”来设置数据文件夹的完全权限。但是,此“组用户”不是在Windows“用户和组”下创建的。因此,您无法在“安全性”选项卡上添加此组,也无法将权限设置为另一个文件夹。
有效的解决方法是将原始数据文件夹复制到新位置,并保留原始权限。
但是我的问题是,崩溃后我可以恢复旧的数据文件夹。因此,尚不清楚解决方法是否可行(今晚我会尝试)。我需要设置正确的用户组。
一个真正的错误修复:正确安装MariaDB,以在正确的位置有效地创建“组用户”,而不仅仅是在文件夹权限中使用它。
答案 2 :(得分:-1)
在对此错误感到困惑后,我建议您:
C:/MariaDB/DB
。具有足够权限的实验。这似乎可行:
cacls Path_to_MariaDB_DBData /E /T /P "Network Service":F