首页  >  文章  >  数据库  >  mysql启动创建不了pid是什么原因

mysql启动创建不了pid是什么原因

coldplay.xixi
coldplay.xixi原创
2021-04-12 11:28:515474浏览

mysql启动创建不了pid的原因:1、端口被占用;2、生成pid文件的目录mysql的权限不足;3、该mysql对应的my.cnf配置文件错误;4、mysql的启动脚本有问题;5、该mysql有残余数据影响了服务的启动。

mysql启动创建不了pid是什么原因

本教程操作环境:windows7系统、mysql8.0.22版,DELL G3电脑。

mysql启动创建不了pid的原因:

问题一:端口被占用

f35d6e602fd7d0f0edfa6f7d103c1b57如果你启动的这个mysql的端口已被其他服务占用,应修改对应my.cnf中的端口号为其他端口,然后重启mysql.

[mysqld]
port=3307

2cc198a1d5eb0d3eb508d858c9f5cbdb如果在重启mysql前,已有该mysql的进程,建议kill掉再重启

问题二:生成pid文件的目录mysql的权限不足

f35d6e602fd7d0f0edfa6f7d103c1b57找到指定的mysql的数据存放目录并授权

chown -R mysql.mysql /data/mysql

2cc198a1d5eb0d3eb508d858c9f5cbdb如果授权后,仍无法启动。可以自己touch一个以主机名命名的pid文件,再启动

cd /data/mysql 
touch node1.pid

问题三:该mysql对应的my.cnf配置文件错误

f35d6e602fd7d0f0edfa6f7d103c1b57查看my.cnf中的port,datadir,basedir,socket等参数的配置是否正确,且配置的目录mysql是否有权限

问题四:mysql的启动脚本有问题

f35d6e602fd7d0f0edfa6f7d103c1b57当不确定启动脚本或mysql.server配置文件内参数是否正常时,先使用mysqld_safe方式启动,查看是否可启动

(先cd到mysql的安装根目录)

./mysqld_safe --defaults-file=/etc/mysql_3306/my.cnf --user=mysql 
or
./mysqld_safe --defaults-file=/etc/mysql/3306/my.cnf --basedir=/Apk/install/mysql --datadir
 =/mysql/data/ --pid-file=/mysql/data/mysql.pid --socket=/mysql/data/mysql.sock --port=3306

2cc198a1d5eb0d3eb508d858c9f5cbdb如果可以启动,那么需要查看mysql启动脚本或mysql.server配置文件内参数并进行修改

重点看下面两个参数

basedir
datadir

问题五:该mysql有残余数据影响了服务的启动

f35d6e602fd7d0f0edfa6f7d103c1b57去mysql的数据存放目录进行删除,然后重启

cd /data/mysql/
rm -r *index
/etc/init.d/mysql start

2cc198a1d5eb0d3eb508d858c9f5cbdb如果还是无法启动,去mysql的数据存放目录进行再删除,然后启动

(如果数据库不是新安装的且数据仍在使用,不建议删除ib开头的文件。如果删除后,要使用备份对数据库进行恢复)

cd /data/mysql/
rm -r *index
rm -r ib*

5bdf4c78156c7953567bb5a0aef2fc53备注

如果是把mysql的数据存放目录下的文件都删除了,应重新进行初始化。初始化后,进行启动。

例如:

/Apk/install/mysql/mysql-5.5.32/script/mysql_install_db   --user=mysql --basedir=/Apk/install/mysql/mysql-5.5.32 --datadir=/Apk/data/mysql_3306/data --pid-file=/Apk/data/mysql_3306/data/mysql.pid --socket=/tmp/mysql_3306.sock --port=3306

相关免费学习推荐:mysql视频教程

以上是mysql启动创建不了pid是什么原因的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn