真的是日了狗,在Linux Redhat环境上安装完MySQL8启动的时候出现这个错误,搞了很久一会排查,一直出现这个错误,当时都想重装MySQL了,最后还好得以解决。记录出来,希望能够帮到遇到同样问题的兄弟们,来节省时间。
如果解决了你的问题,麻烦给本文留言回复下"有用",举手之劳可以帮助更多的人,谢谢~
问题描述: Linux环境下,启动mysql8出现如下错误:
mysqld: File '.\binlog.index' not found (OS errno 13 - Permission denied)
排查过程:
开始一直以为是安装后MySQL的数据文件或者在my.cnf中配置的一些路径所属权限错误。各种检查后,可以确定不是这个原因。
另外这里重点提一下,本文出现的这个错误,非常容易和下面这个错误混淆:
mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)
两种错误的解决方式完全不一样,这里引用一个因为权限原因发生的上述容易混淆的错误error。
可以看到与本文的错误信息非常相似,但是错误信息有不同地方,如下图所示:
解决办法: 先直接上解决办法,在初始化数据库的时候不要乱加参数,直接执行下面命令:
mysqld --initialize
这是非常坑的问题,我在数据库安装完成后,反复使用
# mysql mysqld --initialize --user=mysql --lower_case_table_names=1
执行这个语句后重启mysql的时候反复出现本文的错误,后来将--lower_case_table_names=1
添加到my.cnf
中后,直接执行mysqld --initialize
初始化成功,并且启动数据库成功。
注:本文原创由 bluetata
发布于https://bluetata.blog.csdn.net/、转载请务必注明出处。
来源地址:https://blog.csdn.net/dietime1943/article/details/127521443