我在我的Windows服务器上安装了MariaDB,并看到它默认数据库存储到的数据库C:\Program Files\MariaDB 10.2\data
我希望它移动了E:专用于数据库内容的磁盘。
我想复制datadir然后修改C:\Program Files\MariaDB 10.2\data
datadir中的my.ini会解决它,但是当我尝试重启服务时它就无法启动。我也尝试将文件夹权限设置为网络服务,但这似乎没有帮助。
在Windows上移动datadir需要做什么?
经过大量的搜索,我偶然发现了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替换为您想要的任何内容,只需在my.ini中使用相同的值作为datadir)datadir=C:\Pro....
的值更改为datadir=E:\MariaDB
net start mariadb
(或任何你命名为您的服务。对我来说这是net start "MariaDB 10_2_7"
我认为真正的问题就是这个问题。
MariaDB使用MySQL5.5(或我使用的其他版本的MariaDB10)作为“组用户”来设置数据文件夹的完全权限。但是这个“组用户”不是在Windows“用户和组”下创建的。因此,您无法在安全选项卡上添加此组并将权限设置为其他文件夹。
实际上,解决方法是将原始数据文件夹xcopy保存到新位置,同时保留原始权限。
但我的问题是我在崩溃旧数据文件夹后恢复。因此,尚不清楚变通工作(我今晚会尝试)。我需要设置正确的用户组。
一个真正的错误修复:修复MariaDB的安装,以便在正确的位置有效地创建“组用户”,而不仅仅是在文件夹权限中使用它。