linux下MYSQL常见两个错误的解决办法
问题1:登录mysql的错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 解决方法: 1)默认的mysql.sock文件是在/tmp目录下。 问题2:Timeout error occurred trying to start MySQL Daemon. 解决方法: 具体操作如下: 我们不妨先看看/etc/init.d/mysqld起动脚本是如何工作的,注意下面的一段 # If you've removed anonymous users,this line must be changed to # use a user that is allowed to ping mysqld. ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping" # Spin for a maximum of ten seconds waiting for the server to come up if [ $ret -eq 0 ]; then for x in 1 2 3 4 5 6 7 8 9 10; do if [ -n "`$ping 2> /dev/null`" ]; then break; else sleep 1; fi done if !([ -n "`$ping 2> /dev/null`" ]); then echo "Timeout error occurred trying to start MySQL else action $"Starting $prog: " /bin/true fi else action $"Starting $prog: " /bin/false fi [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld return $ret
我们看到,脚本判断mysql是否起动,使用的是mysqladmin ping命令. 而这个命令想要正确执行是需要能够登录mysql的.现在一些默认帐号已经删除,而且其它帐号已经设置了密码(默认没有设置密码).于是它没有办法连接到mysql. a)建立一个帐号,不设置密码,不给任何权限. b)修改/etc/init.d/mysqld 下面我给出具体操作 #mysql -u root -p passwd mysql>GRANT select ON test.* TO daemon@localhost mysql>revoke select on test.* from daemon@localhost vi打开/etc/init.d/mysqld 把下面这行 ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping"
ping="/usr/bin/mysqladmin -udaemon ping"
重新起动mysql #/etc/init.d/mysqld restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 这样就可以了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |