解决MySQL启动创建不了pid的方法
小编给大家分享一下解决MySQL启动创建不了pid的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
MySQL启动创建不了pid怎么办
首先pid文件是mysql启动后,生成的一个文件,里面记录的是mysql当前的进程号,如果创建失败,mysql就无法启动。
可能原因:
1、mysql的端口被占用
2、生成pid文件的目录mysql的权限不足
3、mysql对应的my.cnf配置文件错误
4、mysql的启动脚本有问题
5、mysql有残余数据影响了服务的启动
推荐:MySQL教程
问题一:端口被占用
<1>如果你启动的这个mysql的端口已被其他服务占用,应修改对应my.cnf中的端口号为其他端口,然后重启mysql.
[mysqld]port=3307
<2>如果在重启mysql前,已有该mysql的进程,建议kill掉再重启
问题二:生成pid文件的目录mysql的权限不足
<1>找到指定的mysql的数据存放目录并授权
chown-Rmysql.mysql/data/mysql
<2>如果授权后,仍无法启动。可以自己touch一个以主机名命名的pid文件,再启动
cd/data/mysqltouchnode1.pid
问题三:该mysql对应的my.cnf配置文件错误
<1>查看my.cnf中的port,datadir,basedir,socket等参数的配置是否正确,且配置的目录mysql是否有权限
问题四:mysql的启动脚本有问题
<1>当不确定启动脚本或mysql.server配置文件内参数是否正常时,先使用mysqld_safe方式启动,查看是否可启动
(先cd到mysql的安装根目录)
./mysqld_safe--defaults-file=/etc/mysql_3306/my.cnf--user=mysqlor./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
<2>如果可以启动,那么需要查看mysql启动脚本或mysql.server配置文件内参数并进行修改
重点看下面两个参数
basedirdatadir
问题五:该mysql有残余数据影响了服务的启动
<1>去mysql的数据存放目录进行删除,然后重启
cd/data/mysql/rm-r*index/etc/init.d/mysqlstart
<2>如果还是无法启动,去mysql的数据存放目录进行再删除,然后启动
(如果数据库不是新安装的且数据仍在使用,不建议删除ib开头的文件。如果删除后,要使用备份对数据库进行恢复)
cd/data/mysql/rm-r*indexrm-rib*
<3>备注
如果是把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启动创建不了pid的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。