错误1045(28000):拒绝访问用户'root'@'localhost'(使用密码:是)-Ubuntu

问题描述:

我无法登录到MySQL。我认为这是错误的密码,我试图更改密码..错误1045(28000):拒绝访问用户'root'@'localhost'(使用密码:是)-Ubuntu

它没有必要更改密码。因为密码正确的是。密码是正确的,但我仍然无法登录MySQL。为什么?请帮助我,谢谢。我尝试了很多方法。

[email protected]:/home/PC# sudo /etc/init.d/mysql stop 
Rather than invoking init scripts through /etc/init.d, use the service(8) 
utility, e.g. service mysql stop 

Since the script you are attempting to invoke has been converted to an 
Upstart job, you may also use the stop(8) utility, e.g. stop mysql 
mysql stop/waiting 
[email protected]:/home/PC# pkill -9 mysql 
[email protected]:/home/PC# pkill -9 mysqld 
[email protected]:/home/PC# pkill -9 mysqld_safe 
[email protected]:/home/PC# ps -ef |grep mysql 
root 27690 25962 0 19:51 pts/1 00:00:00 grep --color=auto mysql 
[email protected]:/home/PC# kill 27690 
bash: kill: (27690) - No such process 
[email protected]:/home/PC# kill 25962 
[email protected]:/home/PC# ps uaxww | grep -i mysql 
PC 24175 0.7 3.8 818760 156020 ? Sl 19:29 0:10 /usr/lib/firefox/firefox /media/DA94-D856/c/How to Recover_Reset forgotten MySQL root Password on Linux _ 2daygeek.htm 
root 27695 0.0 0.0 13588 944 pts/1 S+ 19:52 0:00 grep --color=auto -i mysql 
[email protected]:/home/PC# kill 27695 
bash: kill: (27695) - No such process 
[email protected]:/home/PC# kill 13588 
bash: kill: (13588) - No such process 
[email protected]:/home/PC# sudo mysqld_safe --skip-grant-tables & 
[1] 27701 
[email protected]:/home/PC# 160518 19:53:57 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect. 
160518 19:53:57 mysqld_safe Logging to '/var/log/mysql/error.log'. 
160518 19:53:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 
[email protected]:/home/PC# mysql -uroot 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1 
Server version: 5.5.34-0ubuntu0.12.04.1 (Ubuntu) 

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> use mysql; 
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> update user set password=PASSWORD("mypw") where User='root'; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 3 Changed: 0 Warnings: 0 

mysql> update user set password=PASSWORD("newpw") where User='root'; 
Query OK, 3 rows affected (0.00 sec) 
Rows matched: 3 Changed: 3 Warnings: 0 

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

mysql> quit 
Bye 
[email protected]:/home/PC# sudo /etc/init.d/mysql stop 
Rather than invoking init scripts through /etc/init.d, use the service(8) 
utility, e.g. service mysql stop 

Since the script you are attempting to invoke has been converted to an 
Upstart job, you may also use the stop(8) utility, e.g. stop mysql 
[email protected]:/home/PC# sudo /etc/init.d/mysql start 
Rather than invoking init scripts through /etc/init.d, use the service(8) 
utility, e.g. service mysql start 

Since the script you are attempting to invoke has been converted to an 
Upstart job, you may also use the start(8) utility, e.g. start mysql 
mysql start/running, process 28137 
[email protected]:/home/PC# mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

(或参阅dpkg-重新配置的MySQL服务器-5.5)

[email protected]:~$ sudo dpkg-reconfigure mysql-server-5.5 
[sudo] password for PC: 
mysql stop/waiting 
160513 7:09:38 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 
mysql start/running, process 4046 
[email protected]:~$ mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
[email protected]:~$ 
sudo /etc/init.d/mysql stop 
sudo mysqld_safe --skip-grant-tables & 
mysql -uroot 
use mysql; 
update user set password=PASSWORD("newpw") where User='root'; 
flush privileges; 
quit 
sudo /etc/init.d/mysql stop 
sudo /etc/init.d/mysql start 

错误日志http://pastebin.com/HN2tGhJJ

等/ mysql /下my.cf http://pastebin.com/cMSdGUei

我尝试过,但它没有发生。根特权可能已被删除。 使用mysql; 全部授予。 'root'@'localhost';;

[sudo] password for PC-2: 
[email protected]:/home/PC-2# mysql -u root -pFalanca_mypw 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
[email protected]:/home/PC-2# grep password /etc/mysql/debian.cnf 
password = vwSY1PE7GgDRUbB7 
password = vwSY1PE7GgDRUbB7 
[email protected]:/home/PC-2# mysql -u debian-sys-maint -p 
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 71 
Server version: 5.5.34-0ubuntu0.12.04.1 (Ubuntu) 

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> use mysql; 
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> grant all on *.* to 'root'@'localhost'; 
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) 
+0

用户debian-sys-maint有权限授予用户 – Naruto

+0

我该怎么做?谢谢 – cem

在配置(.CNF)的MySQL的文件,设置以下属性,

bind-address = 0.0.0.0 

的默认值是127.0.0.1。将其更改为0.0.0.0,您将可以访问它。 Otheriwse,它只允许通过ssh通过本地主机。

+0

那么,我们该如何解决这个问题呢?我需要连接到127.0.0.1。服务器上有脚本。我之前没有遇到过127.0.0.1问题,谢谢。 – cem

+0

我已经在C#中为这个问题提供了一个解决方案。它是[这里](http://stackoverflow.com/questions/32603982/connection-to-mysql-from-net-using-ssh-net-library/36517176#36517176)。 –

+0

我们不使用ssh。服务器在这里物理..这个私人服务器。谢谢 – cem