系统:centos7.6

数据库版本:mysql-5.7.27

运维原因:重启后,别人装的mysql数据库不知道如何启动或者启动失败

解决方案:

1、systemctl status mysql/mysqld

显示mysql/mysqld服务不存在

2、mysqld(尝试使用环境变量启动mysql)

报错:数据目录不存在

3、寻找mysql安装目录及配置文件

whereis mysql搜索mysql安装目录

查看/usr/local/、/home/中是否存在mysql目录

配置文件一般是 /etc/my.cnf

4、查看mysql配置文件是否正确

发现:数据目录明显错误,只能通过各种方法寻找数据目录了

5、修改后使用mysqld尝试启动mysql

服务启动卡住,并没有报错

6、没有办法,只得尝试重装来解决了

示例:Liunx下 源码编译安装 MySQL 5.7.27-CSDN博客

7、重装时发现上面给的安装过程service无法创建

cp support-files/mysql.server /etc/init.d/mysql

最后选择用systemctl来创建mysql启动项

vi /etc/systemd/system/mysql.service 

加入mysqld路径

[Unit]
Description=MySQL Server
After=network.target

[Service]
ExecStart=/usr/local/mysql/bin/mysqld
User=mysql
Group=mysql
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

8、使用systemctl start mysql尝试启动mysql

神奇的发现启动成功了

9、但是在使用mysql -u root -p连接时又报了pid问题,直接把我弄破防了

有两个可能,mysql没有正常启动或pid地址有问题,

之后我核查了mysql启动日志,发现其中mysql服务的pid与通过mysql -u root -p提示错误的pid不一致!

10、查看mysql配置文件,发现pid路径与mysql -u root -p提示错误的pid路径一致,但为了能够正常运行,我选择填入mysql启动日志出现的pid路径

正常启动

猜测:可能是版本原因,这个pid路径需要在编码安装mysql的时候就定下,后面即使用配置文件去限制也无法改变现状,反而会影响客户端登录。

这里给一个小知识(在安装或启动的时候我遇到了权限问题,通过给系统/mysql用户添加权限解决,具体参考实际安装路径):

chmod 777 /data/mysql/tmp/
chown -R mysql:mysql /usr/local/mysql/

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐