【问题描述】:
在安装老版本的mysql并启动时发现的错误:(mysql5.0)
-
$ cd /data/mysql/bin
-
$ ./mysqld_safe &
报错信息:
-
root@10:/data/mysql/bin# ./mysqld_safe &
-
[1] 4301
-
root@10:/data/mysql/bin# ./mysqld_safe: 1: ./mysqld_safe: my_print_defaults: not found
-
./mysqld_safe: 1: ./mysqld_safe: my_print_defaults: not found
-
The file /usr/local/mysql/bin/mysqld doesn't exist or is not executable
-
Please do a cd to the mysql installation directory and restart
-
this script from there as follows:
-
./bin/mysqld_safe.
-
See http://dev.mysql.com/doc/mysql/en/mysqld_safe.html for more
-
information
在错误日志里也没有被记录,并且在确认了配置文件无误之后仍然报这个错。
google了一下,发现原来是一个bug,官方早在08年就已经承认并记录。
在mysql 5.0/5.1/5.5版本都有可能出现,在12年10月修正,并且在mysql5.5.19以后的版本中将不再出现。

可参考:http://bugs.mysql.com/bug.php?id=34981
【解决方案】:
往下翻评论,发现一个简单易用的解决方法:
workaround: cd to 'basedir' and run ./bin/mysqld_safe to avoid the issue
意思是进入basedir目录,找./bin/mysqld_safe并启动就可以了。
此处是返回上级目录:
-
root@10:/data/mysql/bin# cd ..
-
root@10:/data/mysql# ./bin/mysqld_safe &
-
[1] 4391
-
root@10:/data/mysql# nohup: ignoring input and redirecting stderr to stdout
-
Starting mysqld daemon with databases from /data/mysql-data
-
-
root@10:/data/mysql#
-
root@10:/data/mysql# ps -ef|grep mysql
-
root 4391 4185 0 10:23 pts/0 00:00:00 /bin/sh ./bin/mysqld_safe
-
root 4422 4391 0 10:23 pts/0 00:00:00 /data/mysql/bin/mysqld --basedir=/data/mysql --datadir=/data/mysql-data --user=root --pid-file=/data/mysql-data/mysqld.pid --skip-external-locking --socket=/tmp/mysql.sock
-
root 4435 4185 0 10:23 pts/0 00:00:00 grep mysql
-
…………………………
启动成功。
作者微信公众号(持续更新)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29773961/viewspace-1994220/
,如需转载,请注明出处,否则将追究法律责任。