一、mysql登录错误

mysqladmin: connect to server at'localhost' failed

error: 'Access denied for user'root'@'localhost' (using password: YES)'

解决办法:破解mysql密码

#> service mysqld stop

#>mysqld_safe --skip-grant-tables &

输入mysql -uroot -p 回车进入

>use mysql;

>update user setpassword=PASSWORD("newpass")where user="root";

更改密码为newpassord

> flush privileges; 更新权限

> quit 退出

servicemysqld restart

mysql -uroot -p新密码进入

二,忘记本地root的登录密码

解决过程:

1编辑/etc/my.cnf

在[mysqld] 配置部分添加一行

skip-grant-tables

2、保存后重启mysql

[root@localhostetc]# servicemysqld restart

Shutting down MySQL.[ OK ]

Starting MySQL.[ OK ]

3、登录数据库重新设置root密码

[root@localhost ~]# mysql -uroot -p mysql

Enter password:

直接回车进入

Welcome to the MySQL monitor. Commands endwith ; or \g.

Your MySQL connection id is 1

Server version: 5.1.47-log Sourcedistribution

Copyright (c) 2000, 2010, Oracle and/or itsaffiliates. All rights reserved.

This software comes with ABSOLUTELY NOWARRANTY. This is free software,

and you are welcome to modify andredistribute it under the GPL v2 license

Type 'help;' or '\h' for help.Type '\c' toclear the current input statement.

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+

3 rows in set (0.00 sec)

执行下列语句

mysql> update user setpassword=password("mysql") where user='root';

Query OK, 4 rows affected (0.00 sec)

Rows matched: 4 Changed: 4 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4、删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql

用新设的密码就能正常登录了;