ITPub博客

首页 > 数据库 > MySQL > 【MySQL】mysql启动常见报错 mysqld_safe mysqld from pid file hostname.pid ended

【MySQL】mysql启动常见报错 mysqld_safe mysqld from pid file hostname.pid ended

原创 MySQL 作者:神谕丶 时间:2015-11-25 15:07:49 0 删除 编辑
【问题描述】:
在通过 mysqld_safe & 或 mysqld_safe & --user=xxxx mysqld服务时,常常会报如下错误:
mysqld_safe mysqld from pid file /xxxx/xxxx/xxxx/hostname.pid ended

*.pid是存放mysqld process id的文件,默认名字为hostname.pid。

【解决方案】:
可以先检查 hostname.
err文件,默认位置在$datadir中,tail -n 100看一下是否有ERROR,可以顺带检查一下WARNING。
大多数问题可以通过检查ERROR搞定。
比如 unknown variable 'autocommit= ***',这类手滑导致拼写错误导致mysqld无法识别该参数而无法启动。

确定启动时所用的配置文件是哪一个。
一般默认顺序为:
/etc/my.cnf  /etc/mysql/my.cnf  $basedir/etc/my.cnf  ~/.my.cnf 

然后确定配置文件中以下内容是否为你的mysql安装的路径:

pid-file 
user
socket
port 
basedir
datadir  
对应的路径是否设置正确。

确定执行mysqld_safe & 的用户,假如此时OS用户名为mysql。
确定user是否一致。

其次,确定--user=? 所指定的用户是否有对应的权限。
若无,则可以chown ?:? -R 对应 $basedir $datadir
或chmod等方法给予对应权限。

同时确定port是否被占用 
比如:netstat -atunlp | grep 3306



检查完上述,若均无问题,基本上mysqld是可以启动的了。
暂时总结这些,若还有其他可能后续再补齐。


如果已经启动成功,再次执行
mysqld_safe & 会报错:
mysqld_safe A mysqld process already exists

当然最好是通过ps -ef | grep mysql来检查

服务正常启动之后,便可尝试mysql client登入mysql server




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29773961/viewspace-1846448/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
微信公众号:fantasy-life-

注册时间:2014-07-28

  • 博文量
    159
  • 访问量
    970730