Ubuntu下MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”

原创 2016年12月17日 15:22:59

我不懂为什么我在网上找的解决方案千篇一律全是:

1、停止当前MySQL服务

/etc/init.d/mysqld stop 

 service mysqld stop

2、用户 --skip-grant-tables 选项启动mysql

mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

md,这命令有毒呀,执行之后,mysql这个进程根本杀不死啦(害我回滚了好几次)。。。

还有些人执行这条命令:

sudo mysqld_safe --skip-grant-tables &

虽然比上一个命令好一点,但是每次执行这条语句就会有多出3个与MySQL相关的进程,他还要我再kill这些进程,然后再执行这条

语句,这不是恶性循环吗???

还有人说:如果运行此语句没有回到上一级shell,则另外打开一个终端继续执行以下步骤即可。。。

然而仍然报如下错:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

3、登录

mysql -u root mysql 

4、修改登录密码:修改yourPassword处即可
update user set password=PASSWORD("yournewpassword") where User='root'; 
flush privileges;  
exit
5、重启服务
 /etc/init.d/mysql restart 
6、此时即可正常登录
mysql -u root -p 
然而我卡在第二步一直报如下错误:
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.
mysqld_safe Logging to '/var/log/mysql/error.log'.
mysqld_safe A mysqld process already exists

解决方案:
1、跳过密码进行登录
vim /etc/mysql/my.cnf 
(1)在[mysqld]的段中加上两句:
skip-name-resolve 
skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-name-resolve 
skip-grant-tables 
保存并且退出vim。 
(2)重新启动mysql:

service mysql restart
(3)登录并修改MySQL的root密码 :
/usr/bin/mysql 
2、修改密码
use mysql ; 
update user set password=password("yournewpassword") where user='root';
flush privileges; 
quit 
3、将MySQL的登录设置修改回来 
vim /etc/mysql/my.cnf
将刚才在[mysqld]的段中加上的skip-name-resolve 、skip-grant-tables 删除 。
保存并且退出vim。 
4、重新启动mysql



skip-name-resolve 
此语句用于跳过dns域名解析,在局域网连接时会更快捷。不过使用此命令,mysql库的user表中的host须由原来localhost改为%,
否则不能连接数据库。 
skip-grant-tables 
此语句用于跳过user表权限检查,在忘记密码时可以直接登录数据库。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ubuntu14.10下解决"ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)"

1. 问题描述 ubuntu下mysql数据库的安装请看:http://blog.csdn.net/cryhelyxx/article/details/23551605 修改mysql数据库用户roo...

解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YSE)

在ubuntu server 12.04中,安装mysql后,使用命令登录mysql居然报错了,Mysql ERROR 1045 (28000): Access denied for user 'ro...
  • yangxt
  • yangxt
  • 2013年12月08日 14:45
  • 12900

ubuntu 系统解决mysql连接问题(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO))

我的系统是ubuntu8.04,最近新装好的mysql在进入mysql工具时,总是有错误提示:
  • polokang
  • polokang
  • 2011年05月24日 15:34
  • 13354

在linux系统中安装mysql服务器详细步骤并解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passw

1、首先下载MySQL的安装文件,我这里安装的是MySQL5.1.7版本的  2、查看linux系统中是否安装了mysql    执行:rpm -qa|grep -i mysql  如有会显示已安装的...

ubuntu 系统解决mysql连接问题(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:

mysql -uroot -pEnter password: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’(using ...

解决ubuntu下mysql的'Access denied for user 'root'@'localhost' (using password: YES)'

一般出现这种情况,只要重新修改下root密码 解决方法: 1.打开/etc/mysql/debian.cnf文件,里面存储了系统管理员的密码 2. 输入命令: mysql -udebian...

mysql Access denied for user root@localhost错误解决方法总结

错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 解决办法是重新设置root用户密码,在Window...

mysql错误:1045 access denied for user 'root'@'localhost' using password yes

有两种情况: 1.一个mysql数据库情况下可参考:点击打开链接 2.2个及以上mysql数据库的情况下:关闭所有mysql服务,之后打开自己需要的mysql数据库服务即可。 *2个以上数据库存在...

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题的解决办法

mysql数据库密码的更改方式。

Mysql ——1045-Access denied for user 'root'@'localhost'(using password:YES)

在敲SSH的时候用的mysql数据库,今天打开myeclipse运行代码的时候出现了Access denied for user 'root'@'localhost'(using password:Y...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ubuntu下MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”
举报原因:
原因补充:

(最多只允许输入30个字)