更改现有的datadir路径


20

我想更改文件中的datadir路径my.ini

现有的datadir路径C:/ProgramData/MySQL/MySQL Server 5.1/Data/

我的C:驱动器大小为30 GB,MySQL数据文件夹占用25 GB。因此,我想将更datadir改为F:/naveen/data

这可能吗?

我的机器正在运行Windows Server 2003

Answers:


26

从您的道路上,我可以安全地假设以下内容:

  • 您正在Windows中运行MySQL
  • 您使用MySQL MSI进行安装

您需要做的是建立文件my.ini

使用MSI为Windows安装MySQL时,my.ini的位置应为C:/ProgramData/MySQL/MySQL Server 5.1

请在DOS窗口中运行以下命令:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

您将看到一些示例my.ini文件。但是,如果该文件夹中没有名为my.ini的文件,则必须创建一个。不管是否存在,请运行以下命令:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

如果要求您创建它,请这样做。

接下来,在my.ini的[mysqld]组标题下创建以下条目:

[mysqld]
datadir=F:/naveen/data

保存my.ini

接下来,从DOS命令行停止mysql,如下所示:

C:\> net stop mysql

接下来,在新位置复制整个数据文件夹

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

最后一步,启动mysql

C:\> net start mysql

尝试登录mysql。一旦您可以成功登录到mysql,请运行以下命令:

show variables like 'datadir';

如果F:\naveen\data显示为数据目录“恭喜”,则说明您做对了!!!

满意所有适用于MySQL的应用程序后,您可以删除其中的所有内容 C:\ProgramData\MySQL\MySQL Server 5.1\data\*

试试看 !!!


我是否可以知道上述步骤适用于Windows Server 2008?

可以,但是很可能会收到错误1067。请检查新目录的权限

2
有时服务已注册为MySQL57,您必须先检查。
giannis christofakis 2015年

2
我犯了一个noob错误,并且没有xcopy权限。mysql不会重启。我试图给予NETWORK SERVICE对datadir的完全访问权限(根据其他在线建议),它引发了权限错误。如果您遇到这种情况,请让“每个人”完全控制数据子目录并继承给子级。然后转到父文件夹(datadir),通过“高级”权限启用继承,并将其应用于所有子文件夹。然后,您可以将NETWORK SERVICE添加到您的数据目录中,以对其进行完全控制,并将其传播给子级。
murraybiscuit '16

2
您应该使用xcopy /O/X/E/H/K而不是xcopy /S此答案。
伊桑·艾伦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.