您的位置:首页 > 运维架构 > Linux

Linux 下,mysql数据库报无法登陆错误:ERROR 1045 (28000): Access denied for use

2016-07-20 19:34 916 查看
今天在别人的服务器上登录mysql发现无法登陆(Mysql别人实现安装好的)
密码和用户名都是正确的,但登录后报如下错误:
ERROR 1045 (28000): Access denied for user ‘admin’@'localhost’ (using password: YES)

尝试了加入-h和-port也无法登陆,最后只能重新修改了。注--该方法也可以用于当忘记数据库密码时,找回数据库密码用

如下是我执行过程,完全执行后,可以顺利登录数据库:linux下的执行脚本:

Java代码


login as: root

Access denied

root@×××××××'s password:

Last login: Tue Feb 21 03:56:49 2012 from 218.17.162.225

[root@INOTRADE ~]# ps -A

PID TTY TIME CMD

1 ? 00:00:01 init

1117 ? 00:00:00 udevd

1394 ? 00:00:00 syslogd

1405 ? 00:00:00 sshd

1414 ? 00:00:00 xinetd

1427 ? 00:00:00 couriertcpd

1429 ? 00:00:00 courierlogger

1437 ? 00:00:00 couriertcpd

1439 ? 00:00:00 courierlogger

1445 ? 00:00:00 couriertcpd

1447 ? 00:00:00 courierlogger

1454 ? 00:00:00 couriertcpd

1456 ? 00:00:00 courierlogger

1466 ? 00:00:00 qmail-send

1468 ? 00:00:00 splogger

1469 ? 00:00:00 qmail-lspawn

1470 ? 00:00:00 qmail-rspawn

1471 ? 00:00:00 qmail-clean

1486 ? 00:00:00 httpd

1528 ? 00:00:00 named

1573 ? 00:00:00 mysqld_safe

1623 ? 00:00:00 mysqld

1629 ? 00:00:00 httpd

1655 ? 00:00:00 httpsd

1659 ? 00:00:00 httpsd

1674 ? 00:00:00 crond

1682 ? 00:00:00 saslauthd

1683 ? 00:00:00 saslauthd

1689 ? 00:00:00 sshd

1691 pts/0 00:00:00 bash

1718 pts/0 00:00:00 ps

// 无法登陆,密码正确的,不知道为什么,原来数据库表的访问权限也已经设置了的

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

Enter password:

[root@INOTRADE ~]# ERROR 1045 (28000): Access denied for user ‘admin’@'localhost’ (using password: YES)

[root@INOTRADE ~]# mysql -uroot -p****** -hlocalhost

[root@INOTRADE ~]# ERROR 1045 (28000): Access denied for user ‘admin’@'localhost’ (using password: YES)

// 执行脚本,更新mysql数据库的数据,如用户名密码

[root@INOTRADE ~]# sudo /etc/init.d/mysqld stop

Stopping MySQL: [ OK ]

[root@INOTRADE ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[1] 1759

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

[root@INOTRADE ~]# Starting mysqld daemon with databases from /var/lib/mysql

-- 这步可能不会自动执行,等待十几秒后就可以直接回车返回到命令行模式下,然后登录到mysql服务器

[root@INOTRADE ~]#

[root@INOTRADE ~]# mysql -u root mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select host, user from user;

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

| host | user |

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

| % | admin |

| localhost | admin |

| localhost | horde |

| localhost | pma_OBBVuV2L3mjn |

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

4 rows in set (0.00 sec)

-- 因为我数据库中没有root,换为admin了

mysql> UPDATE user SET Password=PASSWORD('******') where USER='admin';

Query OK, 2 rows affected (0.02 sec)

Rows matched: 2 Changed: 2 Warnings: 0

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.02 sec)

mysql> quit;

Bye

[root@INOTRADE ~]# /etc/init.d/mysqld restart

STOPPING server from pid file /var/run/mysqld/mysqld.pid

120221 05:08:02 mysqld ended

Stopping MySQL: [ OK ]

Starting MySQL: [ OK ]

[1]+ Done mysqld_safe --user=mysql --skip-grant-tables --skip-networking

// 至此, 重启后就可以正常登录了

[root@INOTRADE ~]# mysql -uadmin -p******

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;

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

| Database |

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

| information_schema |

| ******* |

| horde |

| mysql |

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

7 rows in set (0.01 sec)

mysql> use ********;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

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

| Tables_in_CQT_AMS |

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

| T_ALM_APPLICATION |

| ***************** |

| T_SYS_ROLE |

| T_SYS_USER_INFO |

| T_SYS_USER_ROLE |

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

22 rows in set (0.00 sec)

mysql> quit

Bye

[root@INOTRADE ~]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: