windows下mysql8修改my.ini设置datadir后无法启动问题

文章讨论了如何修改MySQL的默认数据文件位置,包括可能遇到的字符编码改变导致的启动问题,以及确保新路径具有足够权限的重要性。作者提供了备份原有配置、正确修改字符编码及检查新路径权限的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql默认数据库文件在安装目录下。创建数据库的时候,并不能指定数据文件存放位置。这就很扯。它只能通过修改mysql.ini来更改数据文件存放目录,而且是一刀切的,没有办法做到数据文件和日志文件分开存放。假如服务器有多个盘,就不能利用磁盘不同IO的优势。但是,既然是服务器,通常会做阵列的吧,做了阵列,就无所谓哪个盘了。

我这次要说的,是修改mysql.ini后,mysql无法启动的问题。我遇到的是2个原因:一个是mysql.ini修改后字符编码被改变,导致mysql无法识别;另一个是存放mysql数据文件的新路径没有足够权限。

1、字符编码问题

一般来说,mysql.ini位于mysql安装目录下。但其实并不准确,像我的操作系统是win10,mysql默认安装在c:\program files,但mysql.ini位于C:\ProgramData\MySQL\MySQL Server 8.0。这是一个隐藏的文件夹。

如果要改变数据文件的存储路径,就要修改mysql.ini。mysql.init默认字符编码是ANSI,保存后,就有可能会改变其字符编码为UTF-8,导致mysql无法识别,从而无法启动mysql。

正确做法是:
1)首先备份一个mysql.ini。切记!!!

2)用记事本打开mysql.ini,修改mysql.ini里的datadir,如

# Path to the database root
datadir=e:\mysql\Data

3)mysql.ini默认字符编码是ANSI。所以修改后,用记事本另存为,记得选字符编码为ANSI。
在这里插入图片描述

2、新路径权限问题

如上所述,我将datadir修改成新的路径e:\mysql\Data,同时将C:\ProgramData\MySQL\MySQL Server 8.0\Data拷贝到新路径。但要注意,这个文件夹必须要有足够的权限,mysql才能使用。其中,关键的权限是SYSTEM或NETWORK SERVICE要有全部权限。
在这里插入图片描述
也有可能是network service。这个可能是跟安装时的环境有关。最好是看一下原先数据存放点C:\ProgramData\MySQL\MySQL Server 8.0\Data的安全属性。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值