- 查看mydql状态
systemctl status mysql
The designated data directory /var/lib/mysql/ is unusable
- 查看mysql日志
tail -f /var/log/mysql/error.log
tail: cannot open ‘/var/log/mysql/error.log’ for reading: No such file or directory
tail: no files remaining
- 第一次执行
sudo mysqld --initialize
打不开该文件
Could not open file ‘/var/log/mysql/error.log’ for error logging: No such file or directory
创建error.log
发现没有该文件
cd /var/log
mkdir /var/log/mysqlcd /var/log/mysqltouch error.log
- 再次执行
sudo mysqld --initialize
没有报错
尝试启动,还是报错
上帝视角是因为之前的error.log没有添加权限,导致无法写入
查看日志cat /var/log/mysqld.log
这是另外一个日志信息,还是没有该文件
cat: /var/log/mysqld.log: No such file or directory
touch mysqld.logchmod 777 /var/log/mysqld.log
现在的日志信息
/var/log/mysql/error.log
/var/log/mysqld.log
查看上次创建error.log文件之后,initialize的错误信息
数据目录从未使用
删除
rm -rf /var/lib/mysql/*
- 第三次
再次执行sudo mysqld --initialize
mysql用户无法写入
修改权限
sudo chmod -R 755 /var/log/mysql/
递归的将/var/log/mysql/目录下的所有文件和子目录权限设置为755
- 第四次
再次启动sudo mysqld --initialize
无问题
再次启动
systemctl start mysql
总结一波
ERROR 2
NO such file or directory
原因是没有创建日志目录 /var/log/mysql/error.log
虽然之前安装的时候能使用,但是后来改了默认配置vim /etc/mysql/mysql.conf.d/mysqld.cnf
增加了日志目录log_error
,但是没有创建目录,导致启动失败。