今天使用CentOS7安装mysql后,启动时出现了一个问题,折腾了一下午才弄好。问题如下:
启动时报错:Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost.localdomain.pid)。
网上找了很多资料,能试的方式都用了,还是不行,最后自己瞎折腾出来了。解决方法如下:
1.通过安全模式启动mysql
[root@localhost scripts]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
此时应该会报错:
[1] 34419
[root@localhost scripts]
The data directory is a deprecated location for my.cnf, please move it to
/usr/local/product/mysql5.5.49/my.cnf
170730 03:06:59 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chmod: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录
touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chown: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录
170730 03:06:59 mysqld_safe Starting mysqld daemon with databases from /data/mysql
/usr/local/mysql/bin/mysqld_safe:行128: /var/log/mariadb/mariadb.log: 没有那个文件或目录
/usr/local/mysql/bin/mysqld_safe:行165: /var/log/mariadb/mariadb.log: 没有那个文件或目录
touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chown: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录
chmod: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录
170730 03:06:59 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
/usr/local/mysql/bin/mysqld_safe:行128: /var/log/mariadb/mariadb.log: 没有那个文件或目录
^C
[1]+ 退出 1 /usr/local/mysql/bin/mysqld_safe
2.手动创建mariadb目录,并再次通过安全模式启动。
[root@localhost scripts]
[root@localhost scripts]
[1] 34743
[root@localhost scripts]
The data directory is a deprecated location for my.cnf, please move it to
/usr/local/product/mysql5.5.49/my.cnf
170730 03:09:28 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
170730 03:09:28 mysqld_safe Starting mysqld daemon with databases from /data/mysql
170730 03:09:30 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
[1]+ 完成 /usr/local/mysql/bin/mysqld_safe
3.然后启动mysql
[root@localhost scripts]
Starting MySQL... SUCCESS!
OK!启动成功。为什么要先启动安全模式,我也不知道,我是小菜。有知道的大神麻烦告知一下,谢谢啦!