<b>Linux下办理MySQL服务的两个基本问题</b>[MySQL防范]
本文“<b>Linux下办理MySQL服务的两个基本问题</b>[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用mysql基本基本上会碰到主要的两个问题.
1.第一次起动mysql是没有问题的.对mysql做了一些操作,分外是删除mysql中一些不要的帐号后,重新起动mysql会碰到这样的问题
#/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也能衔接到数据库.
这实际上是mysql-3.x的一个bug(具体可以去看mysql的bugzilla和redhat的bugzilla).
是什么缘由招致衔接超时呢?
我们无妨先看看/etc/init.d/mysqld起动脚本是若何工作的,注意下面的一段
# If you've removed anonymous users, this line must be changed to if !([ -n "`$ping 2> /dev/null`" ]); then |
我们看到,脚本判断mysql能否起动,利用的是mysqladmin ping号令.
而这个号令想要精确履行是需求可以登录mysql的.目前一些默许帐号已经删除,并且别的帐号已经设置了密码(默许没有设置密码).于是它没有办法衔接到mysql.
无妨利用下面的号令测试一下
#mysqladmin -u root -ppassword ping mysql alive |
当你供应了帐号和密码时,它的ping号令便可以精确履行了.
这个bug在mysql新出的mysql4.x可以办理.
但是RH9到FC3一向利用的是mysql3.x(不过mysql官方好象才推出mysql4.1,FC需求考虑问题性).
于是我用了下面的办法暂时办理.
a)成立一个帐号,不设置密码,不给任何权限.
b)改正/etc/init.d/mysqld
下面我给出具体操作
#mysql -u root -p passwd mysql>revoke select on test.* from daemon@localhost |
翻开/etc/init.d/mysqld
把下面这行
ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping"
改正成
ping="/usr/bin/mysqladmin -udaemon ping"
保存,退出.
以上是“<b>Linux下办理MySQL服务的两个基本问题</b>[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |