centos mysqld_safe来自pid文件的mysqld/var/run/mysqld/mysqld.pid防止服务器重新启动

ngynwnxp  于 2022-11-07  发布在  Mysql
关注(0)|答案(4)|浏览(300)

我在CentOS上的mySQL服务器一直工作正常,但是,我今天突然无法重新启动mysqld。
1)# /etc/rc.d/初始化.d/mysqld启动
显示[失败]
2)查看日志

tail /var/log/mysqld.log 
.
.
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

3)手动放置

/usr/bin/mysqld_safe

151129 15:54:36 mysqld_safe Logging to '/var/log/mysqld.log'.
151129 15:54:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
151129 15:54:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

4)检查配置

less /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

5)检查mysql目录,每个所有者船都属于mysql。但是我不能找到mysql.sock(这是在我的.cnf中设置的)

cd /var/lib/mysql 
ls -la

drwxr-xr-x  5 mysql mysql     4096 11月 29 15:54 2015 .
drwxr-xr-x 21 root  root      4096  6月  2 06:09 2015 ..
-rw-rw----  1 mysql mysql       56  6月  2 05:42 2015 auto.cnf
drwx------  2 mysql mysql     4096 11月 24 11:12 2015 myapp
-rw-rw----  1 mysql mysql 50331648 11月 29 12:30 2015 ib_logfile0
-rw-rw----  1 mysql mysql 50331648 11月 29 12:30 2015 ib_logfile1
-rw-rw----  1 mysql mysql 79691776 11月 29 12:30 2015 ibdata1
drwx------  2 mysql mysql     4096  6月  2 05:42 2015 mysql
drwx------  2 mysql mysql     4096  6月  2 05:42 2015 performance_schema

6)我发现在/var/lib/mysql目录中没有mysql.sock,然后我为了测试而尝试了这个。

touch /var/lib/mysql/mysql.sock

尝试重新启动

/etc/rc.d/init.d/mysqld start

socks被删除了。
还有什么我可以尝试的吗?

vpfxa7rd

vpfxa7rd1#

在我的例子中,问题是mysql试图在/var/run/mysqld中创建临时文件,但该目录不存在。我通过手动创建该目录并为其设置权限来解决该问题:

mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
kkbh8khc

kkbh8khc2#

实际上,Mairadb将pid文件定位在/var/run/mariadb中。
然后,您不需要任何其他操作,只需设置pid-file=/var/run/mariadb/mysqld.pid

lzfw57am

lzfw57am3#

我在谷歌上搜索了一下,然后试了试。

restorecon -r /var/lib/mysql

对我有用谢谢。

rggaifut

rggaifut4#

只需重新安装mariadb。这将更正所有权限。

相关问题