照着博客上的一篇文章安装mysql后,在启动时,发生这样的错误:
[root@bogon log]# /etc/rc.d/init.d/mysqld start
Starting MySQL.Manager of pid-file quit without updating fi[失败]日志:100531 11:08:21 mysqld_safe Starting mysqld daemon with databases from /home/loc
al/data
/usr/local/mysql/libexec/mysqld: File './mysql-bin.index' not found (Errcode: 13
)
100531 11:08:21 [ERROR] Aborting100531 11:08:21 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete100531 11:08:21 mysqld_safe mysqld from pid file /home/local/data/bogon.pid ende
dgoogle了半天,也还是不行,求解答

解决方案 »

  1.   

    检查一下你 my.cnf 文件中的datadir指向哪里?
      

  2.   

    仔细看看/etc/rc.d/init.d/mysqld启动脚本,把start部分对应的内容贴出来看看,
    应该是什么参数没有对应起来。
    看看对应的my.cnf在哪个位置。
      

  3.   

    my.cnf没有找到datadir  启动脚本里datadir=空,没有值 
      

  4.   

    指定一个datadir吧。
    然后估计还得installdb。参看一下mysql手册先。
      

  5.   


    case "$mode" in
      'start')
        # Start daemon    # Safeguard (relative paths, core dumps..)
        cd $basedir    manager=$bindir/mysqlmanager
        if test -x $libexecdir/mysqlmanager
        then
          manager=$libexecdir/mysqlmanager
        elif test -x $sbindir/mysqlmanager
        then
          manager=$sbindir/mysqlmanager
        fi    echo $echo_n "Starting MySQL"
        if test -x $manager -a "$use_mysqld_safe" = "0"
        then
          if test -n "$other_args"
          then
            log_failure_msg "MySQL manager does not support options '$other_args'"
            exit 1
          fi
          # Give extra arguments to mysqld with the my.cnf file. This script may
          # be overwritten at next upgrade.
          "$manager" \
            --mysqld-safe-compatible \
            --user="$user" \
            --pid-file="$pid_file" >/dev/null 2>&1 &
          wait_for_pid created $!; return_value=$?      # Make lock for RedHat / SuSE
          if test -w /var/lock/subsys
          then
            touch /var/lock/subsys/mysqlmanager
          fi
          exit $return_value
        elif test -x $bindir/mysqld_safe
        then
          # Give extra arguments to mysqld with the my.cnf file. This script
          # may be overwritten at next upgrade.
          pid_file=$server_pid_file
          $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
          wait_for_pid created $!; return_value=$?      # Make lock for RedHat / SuSE
          if test -w /var/lock/subsys
          then
            touch /var/lock/subsys/mysql
          fi
     exit $return_value
        else
          log_failure_msg "Couldn't find MySQL manager ($manager) or server ($bindir/mysqld_safe)"
        fi
        ;;iihero说的start部分是指这里吗?
      

  6.   

    在哪里指定,启动脚本里。还是my.cnf里?
      

  7.   

    最上面的就是err文件的内容。100531 11:08:21 mysqld_safe Starting mysqld daemon with databases from /home/loc
    al/data
    /usr/local/mysql/libexec/mysqld: File './mysql-bin.index' not found (Errcode: 13
    )
    100531 11:08:21 [ERROR] Aborting100531 11:08:21 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete100531 11:08:21 mysqld_safe mysqld from pid file /home/local/data/bogon.pid ende
    d