最近在安装完成mysql后,启动mysql时,错误如下:
[root@web-server data]# /etc/rc.d/init.d/mysqld start
Starting MySQL...... ERROR! Manager of pid-file quit without updating file.
;
也找过其它的解决方法,但解决后错误还是依旧,请指教。
;
Starting MySQL…Manager of pid-file quit without updating
网上搜了一下,有人说将/etc/my.cnf里面的 skip federated注释掉即可,但我的my.cnf里压根就没有这一项,还有人说/etc/my.cnf中没有设置datadir=/data/mysql,但我看了这一项已经有了。还有说data/mysql-bin.index没有删除,data/mysql-bin.index是存放日志文件索引的文件,只删除了日志文件而没有对日志的索引文件做处理显然是不行的。但删除data/mysql-bin.index文件,再service mysqld start还是不行。
1.首先要运行一下
比如说我的mysql安装在/opt/mysql下面
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql; (确认你有mysql用户)
如果不行,检查你的/opt/mysql(这是我的)下面有没有data目录,正确的做法是先启动一次如果OK,再移data目录到别的地方。
两个方法解决
1.如果你没有修改过my.cnf文件,请修改,然后把添加datadir
[mysqld]
port;;;;;= 3306
socket;;;= /tmp/mysql.sock
datadir = /data/mysql/data
这时候,你在/opt/mysql下面建一个软链接到/etc/my.cnf
#cd /opt/mysql
#ln -sf /etc/my.cnf my.cnf
2.或者你在/opt/mysql下面建一个data的软链接
#cd /opt/mysql
#ln -sf /data/mysql/data data
如果还不行,你就得查看你已经注册成服务的mysqld
#cd /etc/init.d/
#vim mysqld
一般的默认是安装在/usr/local下面的,所以你要修改这个目录的名称及指向。
再不行,你得查一下
/opt/mysql/data/localhost.err文件报什么错。
再按错误来解决。
我之前是少了一个libstdc++.so.5的库,从别的地方copy了一个就OK了
正确流程如下:
#cd /opt/mysql
#scripts/mysql_install_db --user=mysql
成功
#cd .;./bin/mysqld_safe &;//这是运行一个demo
查一下进程树
#ps aux | grep mysql //如果有就可以运行
/opt/mysql/support-files/mysql.server start; //修改一下mysql.server文件,这个脚本文件其实就是init.d/mysqld文件,默认路径在/usr/local下面
成功了就可以用了
/opt/mysql/bin/mysql
愿你早日解决些事。
记得权限的问题,--user=mysql来启动创建初始化table,你的data目录要有写权限。