更改现有数据目录路径

nav*_*een 24 mysql windows mysql-5.1

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

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

我的C:驱动器大小为 30 GB,MySQL 数据文件夹占用 25 GB。所以我想datadirF:/naveen/data.

这可能吗?

我的机器运行的是Windows Server 2003

Rol*_*DBA 31

根据您的路径,我可以安全地假设以下内容:

  • 您正在 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
Run Code Online (Sandbox Code Playgroud)

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

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini
Run Code Online (Sandbox Code Playgroud)

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

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

[mysqld]
datadir=F:/naveen/data
Run Code Online (Sandbox Code Playgroud)

保存我的.ini

接下来,像这样从 DOS 命令行停止 mysql:

C:\> net stop mysql
Run Code Online (Sandbox Code Playgroud)

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

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s
Run Code Online (Sandbox Code Playgroud)

最后一步,启动mysql

C:\> net start mysql
Run Code Online (Sandbox Code Playgroud)

尝试登录mysql。成功登录mysql后,运行以下命令:

show variables like 'datadir';
Run Code Online (Sandbox Code Playgroud)

如果F:\naveen\data显示为 datadir,恭喜你,你做对了!!!

一旦您对所有命中 MySQL 的应用程序感到满意,您就可以删除其中的所有内容 C:\ProgramData\MySQL\MySQL Server 5.1\data\*

试一试 !!!

  • 在此答案中,您应该使用 `xcopy /O/X/E/H/K` 而不是 `xcopy /S`。 (3认同)
  • 有时服务注册为`MySQL57`,你必须先检查。 (2认同)
  • 我犯了一个菜鸟错误,没有 xcopy 权限。mysql 不会重新启动。我试图让 NETWORK SERVICE 完全访问 datadir(根据其他在线建议),但它抛出了权限错误。如果您遇到这种情况,请让“每个人”完全控制数据子目录并继承给孩子。然后转到父 (datadir) 文件夹,通过“高级”权限启用继承并应用于所有子项。然后,您可以将 NETWORK SERVICE 添加到您的 datadir,赋予它完全控制权,并将传播给孩子们。 (2认同)