linux mysql 2002错误_MySQL_linux下MYSQL常见两个错误的解决办法,问题1:登录mysql的错误 ERROR 20 - phpStudy...

问题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)我们建立一个软连接,ln -s /tmp/mysql.sock  /var/lib/mysql/mysql.sock

问题2:Timeout error occurred trying to start MySQL Daemon.#/etc/init.d/mysqld restart

stopping mysql     [ok]

Timeout error occurred trying to start MySQL Daemon.  [failure]

但是这个时候mysql实际上已经起动了,因为用netstat -ln命令去看3306端口已经起动.使用mysql -u root -p password也能连接到数据库.

解决方法:修改/etc/init.d/mysqld.

在mysql里创建dameon用户,然后再修改/etc/init.d/mysqld.

具体操作如下:

我们不妨先看看/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

Daemon."                    action $"Starting $prog: " /bin/false

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.* TOdaemon@localhost

mysql>revoke select on test.* fromdaemon@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  ]

这样就可以了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值