我自己vi了一个/etc/my.cnf(打算加句max_connections=500)重起mysql后,客户端连接mysql就一直出现1045错误,服务器上的应用程序也拿不到连接,不知道怎么回事儿,后来删除了那个/etc/my.cnf错误依旧,现在通过cp /usr/share/mysql/my-medium.cnf /etc/my.cnf,还是同样错误 自己vi 的my.cnf代码 
只是加了一句 
max_connections=500 现在的my.cnf和/usr/share/mysql/my-medium.cnf完全一样 新情况
查看了mysql启动日志:
071210  1:24:06 [Warning] Found invalid password for user: 'root@%'; Ignoring user
071210  1:24:06 [Warning] Found invalid password for user: 'root@webserver'; Ignoring user

解决方案 »

  1.   

    Found   invalid   password
      

  2.   

    对,Found invalid password
    但肯定不是密码错误的问题,修改my.cnf之前都正常,期间密码没有更换过的
      

  3.   

    谢yueliangdao0608帮忙
    开始没有my.cnf,用的默认设置,现在copy /usr/share/mysql/my-medium.cnf /etc/my.cnf
    代码和my-medium.cnf完全一样
    现在问题是,有没有这个my.cnf,效果都是一个错误
    071210     1:24:06   [Warning]   Found   invalid   password   for   user:   'root@%';   Ignoring   user 
    071210     1:24:06   [Warning]   Found   invalid   password   for   user:   'root@webserver';   Ignoring   user
    # Example MySQL config file for medium systems.
    #
    # This is for a system with little memory (32M - 64M) where MySQL plays
    # an important part, or systems up to 128M where MySQL is used together with
    # other programs (such as a web server)
    #
    # You can copy this file to
    # /etc/my.cnf to set global options,
    # mysql-data-dir/my.cnf to set server-specific options (in this
    # installation this directory is /var/lib/mysql) or
    # ~/.my.cnf to set user-specific options.
    #
    # In this file, you can use all long options that a program supports.
    # If you want to know which options a program supports, run the program
    # with the "--help" option.# The following options will be passed to all MySQL clients
    [client]
    #password = your_password
    port = 3306
    socket = /var/lib/mysql/mysql.sock# Here follows entries for some specific programs# The MySQL server
    [mysqld]
    port = 3306
    socket = /var/lib/mysql/mysql.sock
    #skip-locking
    key_buffer = 16M
    max_allowed_packet = 1M
    table_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    #old_passwords=1
    #user=mysql
    # Don't listen on a TCP/IP port at all. This can be a security enhancement,
    # if all processes that need to connect to mysqld run on the same host.
    # All interaction with mysqld must be made via Unix sockets or named pipes.
    # Note that using this option without enabling named pipes on Windows
    # (via the "enable-named-pipe" option) will render mysqld useless!

    #skip-networking# Replication Master Server (default)
    # binary logging is required for replication
    log-bin# required unique id between 1 and 2^32 - 1
    # defaults to 1 if master-host is not set
    # but will not function as a master if omitted
    server-id = 1# Replication Slave (comment out master section to use this)
    #
    # To configure this host as a replication slave, you can choose between
    # two methods :
    #
    # 1) Use the CHANGE MASTER TO command (fully described in our manual) -
    #    the syntax is:
    #
    #    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
    #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
    #
    #    where you replace <host>, <user>, <password> by quoted strings and
    #    <port> by the master's port number (3306 by default).
    #
    #    Example:
    #
    #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
    #    MASTER_USER='joe', MASTER_PASSWORD='secret';
    #
    # OR
    #
    # 2) Set the variables below. However, in case you choose this method, then
    #    start replication for the first time (even unsuccessfully, for example
    #    if you mistyped the password in master-password and the slave fails to
    #    connect), the slave will create a master.info file, and any later
    #    change in this file to the variables' values below will be ignored and
    #    overridden by the content of the master.info file, unless you shutdown
    #    the slave server, delete master.info and restart the slaver server.
    #    For that reason, you may want to leave the lines below untouched
    #    (commented) and instead use CHANGE MASTER TO (see above)
    #
    # required unique id between 2 and 2^32 - 1
    # (and different from the master)
    # defaults to 2 if master-host is set
    # but will not function as a slave if omitted
    #server-id       = 2
    #
    # The replication master for this slave - required
    #master-host     =   <hostname>
    #
    # The username the slave will use for authentication when connecting
    # to the master - required
    #master-user     =   <username>
    #
    # The password the slave will authenticate with when connecting to
    # the master - required
    #master-password =   <password>
    #
    # The port the master is listening on.
    # optional - defaults to 3306
    #master-port     =  <port>
    #
    # binary logging - not required for slaves, but recommended
    #log-bin# Point the following paths to different dedicated disks
    #tmpdir = /tmp/
    #log-update  = /path-to-dedicated-directory/hostname# Uncomment the following if you are using BDB tables
    #bdb_cache_size = 4M
    #bdb_max_lock = 10000# Uncomment the following if you are using InnoDB tables
    innodb_data_home_dir = /var/lib/mysql/
    innodb_data_file_path = ibdata1:10M:autoextend
    innodb_log_group_home_dir = /var/lib/mysql/
    innodb_log_arch_dir = /var/lib/mysql/
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    innodb_buffer_pool_size = 16M
    innodb_additional_mem_pool_size = 2M
    # Set .._log_file_size to 25 % of buffer pool size
    innodb_log_file_size = 5M
    innodb_log_buffer_size = 8M
    innodb_flush_log_at_trx_commit = 1
    innodb_lock_wait_timeout = 50[mysqldump]
    quick
    max_allowed_packet = 16M[mysql]
    no-auto-rehash
    # Remove the next comment character if you are not familiar with SQL
    #safe-updates[isamchk]
    key_buffer = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M[myisamchk]
    key_buffer = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M[mysqlhotcopy]
    interactive-timeout
      

  4.   

    那就不是配置文件的问题了。
    找找其他原因吧。
    071210           1:24:06       [Warning]       Found       invalid       password       for       user:       'root@%';       Ignoring       user  
    071210           1:24:06       [Warning]       Found       invalid       password       for       user:       'root@webserver';       Ignoring       user
      

  5.   

    有点不解
    只改了my.cnf,导致了这个问题,删除了my.cnf问题依然存在
    my.cnf删除后,mysql就按默认设置启动了把?
    下面是当前的mysql代码#!/bin/sh
    # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
    # This file is public domain and comes with NO WARRANTY of any kind# MySQL daemon start/stop script.# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
    # systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
    # When this is done the mysql server will be started when the machine is
    # started and shut down when the systems goes down.# Comments to support chkconfig on RedHat Linux
    # chkconfig: 2345 64 36
    # description: A very fast and reliable SQL database engine.# Comments to support LSB init script conventions
    ### BEGIN INIT INFO
    # Provides: mysql
    # Required-Start: $local_fs $network $remote_fs
    # Required-Stop: $local_fs $network $remote_fs
    # Default-Start:  2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: start and stop MySQL
    # Description: MySQL is a very fast and reliable SQL database engine.
    ### END INIT INFO
     
    # If you install MySQL on some other places than /, then you
    # have to do one of the following things for this script to work:
    #
    # - Run this script from within the MySQL installation directory
    # - Create a /etc/my.cnf file with the following information:
    #   [mysqld]
    #   basedir=<path-to-mysql-installation-directory>
    # - Add the above to any other configuration file (for example ~/.my.ini)
    #   and copy my_print_defaults to /usr/bin
    # - Add the path to the mysql-installation-directory to the basedir variable
    #   below.
    #
    # If you want to affect other MySQL variables, you should make your changes
    # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.basedir=# The following variables are only set for letting mysql.server find things.# Set some defaults
    datadir=/var/lib/mysql
    pid_file=
    if test -z "$basedir"
    then
      basedir=/
      bindir=/usr/bin
    else
      bindir="$basedir/bin"
    fi#
    # Use LSB init script functions for printing messages, if possible
    #
    lsb_functions="/lib/lsb/init-functions"
    if test -f $lsb_functions ; then
      source $lsb_functions
    else
      log_success_msg()
      {
        echo " SUCCESS! $@"
      }
      log_failure_msg()
      {
        echo " ERROR! $@"
      }
    fiPATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
    export PATHmode=$1    # start or stopcase `echo "testing\c"`,`echo -n testing` in
        *c*,-n*) echo_n=   echo_c=     ;;
        *c*,*)   echo_n=-n echo_c=     ;;
        *)       echo_n=   echo_c='\c' ;;
    esacparse_arguments() {
      for arg do
        case "$arg" in
          --basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
          --datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
          --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
        esac
      done
    }wait_for_pid () {
      i=0
      while test $i -lt 35 ; do
        sleep 1
        case "$1" in
          'created')
            test -s $pid_file && i='' && break
            ;;
          'removed')
            test ! -s $pid_file && i='' && break
            ;;
          *)
            echo "wait_for_pid () usage: wait_for_pid created|removed"
            exit 1
            ;;
        esac
        echo $echo_n ".$echo_c"
        i=`expr $i + 1`
      done  if test -z "$i" ; then
        log_success_msg
      else
        log_failure_msg
      fi
    }# Get arguments from the my.cnf file,
    # groups [mysqld] [mysql_server] and [mysql.server]
    if test -x ./bin/my_print_defaults
    then
      print_defaults="./bin/my_print_defaults"
    elif test -x $bindir/my_print_defaults
    then
      print_defaults="$bindir/my_print_defaults"
    elif test -x $bindir/mysql_print_defaults
    then
      print_defaults="$bindir/mysql_print_defaults"
    else
      # Try to find basedir in /etc/my.cnf
      conf=/etc/my.cnf
      print_defaults=
      if test -r $conf
      then
        subpat='^[^=]*basedir[^=]*=\(.*\)$'
        dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
        for d in $dirs
        do
          d=`echo $d | sed -e 's/[  ]//g'`
          if test -x "$d/bin/my_print_defaults"
          then
            print_defaults="$d/bin/my_print_defaults"
            break
          fi
          if test -x "$d/bin/mysql_print_defaults"
          then
            print_defaults="$d/bin/mysql_print_defaults"
            break
          fi
        done
      fi  # Hope it's in the PATH ... but I doubt it
      test -z "$print_defaults" && print_defaults="my_print_defaults"
    fi#
    # Test if someone changed datadir;  In this case we should also read the
    # default arguments from this directory
    #extra_args=""
    if test "$datadir" != "/var/lib/mysql"
    then
      extra_args="-e $datadir/my.cnf"
    fiparse_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`#
    # Set pid file if not given
    #
    if test -z "$pid_file"
    then
      pid_file=$datadir/`/bin/hostname`.pid
    else
      case "$pid_file" in
        /* ) ;;
        * )  pid_file="$datadir/$pid_file" ;;
      esac
    fi# Safeguard (relative paths, core dumps..)
    cd $basedircase "$mode" in
      'start')
        # Start daemon    if test -x $bindir/mysqld_safe
        then
          # Give extra arguments to mysqld with the my.cnf file. This script may
          # be overwritten at next upgrade.
          echo $echo_n "Starting MySQL"
          $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --character-set-client=gb2312 --character-set-server=gb2312 --default-character-set=gb2312 >/dev/null 2>&1 &
          wait_for_pid created
          
          # Make lock for RedHat / SuSE
          if test -w /var/lock/subsys
          then
            touch /var/lock/subsys/mysql
          fi
        else
          log_failure_msg "Can't execute $bindir/mysqld_safe"
        fi
        ;;  'stop')
        # Stop daemon. We use a signal here to avoid having to know the
        # root password.
        if test -s "$pid_file"
        then
          mysqld_pid=`cat $pid_file`
          echo $echo_n "Shutting down MySQL"
          kill $mysqld_pid
          # mysqld should remove the pid_file when it exits, so wait for it.
          wait_for_pid removed      # delete lock for RedHat / SuSE
          if test -f /var/lock/subsys/mysql
          then
            rm -f /var/lock/subsys/mysql
          fi
        else
          log_failure_msg "MySQL PID file could not be found!"
        fi
        ;;  'restart')
        # Stop the service and regardless of whether it was
        # running or not, start it again.
        $0 stop
        $0 start
      ;;  'reload')
        if test -s "$pid_file" ; then
          mysqld_pid=`cat $pid_file`
          kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
          touch $pid_file
        else
          log_failure_msg "MySQL PID file could not be found!"
        fi
      ;;  *)
        # usage
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
        ;;
    esac