欢迎投稿

今日深度:

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

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


目录
  • mysql8修改my.ini设置datadir后无法启动问题
    • 1、字符编码问题
    • 2、新路径权限问题
  • 总结

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

    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的安全属性。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • MySQL8.0找不到my.ini如何解决
    • Mysql8.0修改配置文件my.ini的坑及解决
    • mysql8.0配置文件my.ini详解
    • mysql8.0找不到my.ini配置文件的问题及解决
    • 如何解决MySQL5升级为MySQL8遇到的问题my.ini
    • mysql8.0 my.ini 如何永久修改时区
    • MySQL8.0中的my.ini文件位置说明

    www.htsjk.Com true http://www.htsjk.com/Mysql/48692.html NewsArticle 解决windows下mysql8修改my.ini设置datadir后无法启动问题, 目录 mysql8修改my.ini设置datadir后无法启动问题 1、字符编码问题 2、新路径权限问题 总结 mysql8修改my.ini设置datadir后无法启动问题...
    评论暂时关闭