1. 程式人生 > >MySQL root密碼重置報錯 mysqladmin connect to server at 'localhost

MySQL root密碼重置報錯 mysqladmin connect to server at 'localhost

                -- ====================================================================--  mysqladmin: connect to server at 'localhost' failed的解決方案!-- ====================================================================

1  登陸失敗,mysqladmin修改密碼失敗

[[email protected] var]# mysqladmin -u root password '123456'mysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost' (using password: NO)'2 停止mysql服務
[[email protected] var]# /etc/init.d/mysqld stopShutting down MySQL.... SUCCESS!3 安全模式啟動[[email protected] var]# mysqld_safe --skip-grant-tables &/opt/mysql/product/5.5.25a/bin/mysqld_safe --skip-grant-tables &[1] 10912[[email protected] var]# 110407 17:39:28 mysqld_safe Logging to '/usr/local/mysql/var//mysql.chinascopefinanical.com.err'.110407 17:39:29 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var/4 無密碼root帳號登陸
[[email protected] var]# /usr/bin/mysql -uroot -p 【註釋,在下面的要求你輸入密碼的時候,你不用管,直接回車鍵一敲就過去了】Enter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 48Server version: 5.1.41-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use mysql;Database changed5 手動update修改密碼
mysql> update user set password=password("guxxxxxahyVh") where user='root' and host='localhost';Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> quitBye[[email protected] var]# mysql -uroot -pguNNhtqhjUnfky6ahyVhWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 172Server version: 5.1.41-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> quitBye6 正常重新啟動[[email protected] var]# service mysqld restartShutting down MySQL..110407 17:45:29 mysqld_safe mysqld from pid file /usr/local/mysql/var//mysql.chinascopefinanical.com.pid endedSUCCESS!Starting MySQL.. SUCCESS![1]+  Done                    mysqld_safe --skip-grant-tables

[[email protected] var]#

7 其他形式的錯誤情況分析

7.1 找不到sock 報錯 :

[[email protected] mysqld]#  /usr/bin/mysql -uroot -pEnter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)[[email protected] mysqld]# 

登陸的時候加上sock引數就OK了。

[[email protected] mysqld]#  /usr/bin/mysql -uroot -p --socket=/opt/mysqldata/mysql.sockEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.1.69 Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> mysql> 

7.2 抱錯 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)

130830 10:59:02  InnoDB: Initializing buffer pool, size = 1.0G

130830 10:59:02  InnoDB: Completed initialization of buffer pool130830 10:59:02  InnoDB: Started; log sequence number 0 2727887496130830 10:59:02 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)130830 10:59:02 [ERROR] Can't start server: can't create PID file: No space left on device130830 10:59:02 mysqld_safe Number of processes running now: 0130830 10:59:02 mysqld_safe mysqld restarted130830 10:59:02  InnoDB: Initializing buffer pool, size = 1.0G130830 10:59:02  InnoDB: Completed initialization of buffer pool130830 10:59:02  InnoDB: Started; log sequence number 0 2727887496130830 10:59:02 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)130830 10:59:02 [ERROR] Can't start server: can't create PID file: No space left on device130830 10:59:03 mysqld_safe Number of processes running now: 0130830 10:59:03 mysqld_safe mysqld restarted130830 10:59:03  InnoDB: Initializing buffer pool, size = 1.0G

[分析]:不能寫入預設的pid檔案,就 修改 /etc/init.d/mysqld,把pid指向別的路經

[[email protected] mysqld]# vi /etc/init.d/mysqld

.....

get_mysql_option mysqld datadir "/var/lib/mysql"datadir="$result"get_mysql_option mysqld socket "$datadir/mysql.sock"socketfile="$result"get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"errlogfile="$result"get_mysql_option mysqld_safe pid-file "/opt/mysqldata/mysqld.pid"    # '/var/run/mysqld/mysqld.pid' 原始值,這裡修改成別的路徑/opt/mysqldata/mysqld.pidmypidfile="$result"

.....

然後啟動mysqld服務,OK,成功了。