標籤:mysql root密碼重設
MySQL root密碼重設
1 登陸失敗,mysqladmin修改密碼失敗
[[email protected] var]# mysqladmin -u root password ‘123456‘
mysqladmin: connect to server at ‘localhost‘ failed
error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: NO)‘
2 停止mysql服務
[[email protected] var]# /etc/init.d/mysqld stop
Shutting down MySQL.... SUCCESS!
3 安全模式啟動
[[email protected] var]# mysqld_safe --skip-grant-tables &
4 無密碼root帳號登陸
[[email protected] var]# /usr/bin/mysql –u root -p
【注釋,在下面的要求你輸入密碼的時候,你不用管,直接斷行符號鍵一敲就過去了】
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 48
Server version: 5.1.41-log Source distribution
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> use mysql;
Database changed
5 手動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: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[[email protected] var]# mysql –u root –p guNNhtqhjUnfky6ahyVh
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 172
Server version: 5.1.41-log Source distribution
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> quit
Bye
6 正常重新啟動
[[email protected] var]# service mysqld restart
Shutting down MySQL..110407 17:45:29 mysqld_safe mysqld from pid file /usr/local/mysql/var//mysql.chinascopefinanical.com.pid ended
SUCCESS!
Starting MySQL.. SUCCESS!
[1]+ Done mysqld_safe --skip-grant-tables
[[email protected] var]#
7 其他形式的錯誤情況分析
7.1 找不到sock 報錯 :
[[email protected] mysqld]# /usr/bin/mysql –u root -p
Enter 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 –u root -p --socket=/opt/mysqldata/mysql.sock
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.69 Source distribution
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 pool
130830 10:59:02 InnoDB: Started; log sequence number 0 2727887496
130830 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 device
130830 10:59:02 mysqld_safe Number of processes running now: 0
130830 10:59:02 mysqld_safe mysqld restarted
130830 10:59:02 InnoDB: Initializing buffer pool, size = 1.0G
130830 10:59:02 InnoDB: Completed initialization of buffer pool
130830 10:59:02 InnoDB: Started; log sequence number 0 2727887496
130830 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 device
130830 10:59:03 mysqld_safe Number of processes running now: 0
130830 10:59:03 mysqld_safe mysqld restarted
130830 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.pid
mypidfile="$result"
.....
然後啟動mysqld服務,OK,成功了。
本文出自 “jack” 部落格,請務必保留此出處http://396386.blog.51cto.com/386386/1543303