当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-01-25 22:43:00  来源:本站整理

<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
# 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.

    无妨利用下面的号令测试一下

   

 #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>GRANT select ON test.* TO daemon@localhost

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防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .