您的位置:首页 > 数据库 > MySQL

MySQL root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案!

2013-08-31 18:11 771 查看
-- ====================================================================

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

-- ====================================================================

1 登陆失败,mysqladmin修改密码失败

[root@mysql 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服务

[root@mysql var]# /etc/init.d/mysqld stop

Shutting down MySQL.... SUCCESS!

3 安全模式启动

[root@mysql var]# mysqld_safe --skip-grant-tables &

/opt/mysql/product/5.5.25a/bin/mysqld_safe --skip-grant-tables &

[1] 10912

[root@mysql 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帐号登陆

[root@mysql var]# /usr/bin/mysql -uroot -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

[root@mysql var]# mysql -uroot -pguNNhtqhjUnfky6ahyVh

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 正常重新启动

[root@mysql 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

[root@mysql var]#

7 其他形式的错误情况分析

7.1 找不到sock 报错 :

[root@app60 mysqld]# /usr/bin/mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

[root@app60 mysqld]#

登陆的时候加上sock参数就OK了。

[root@app60 mysqld]# /usr/bin/mysql -uroot -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

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

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 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指向别的路经

[root@app60 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,成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐