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

原创 2017年06月01日 20:25:17

           今天闲来无事,在Ubuntu上掏鼓一下mysql。但尴尬的是,当我输入mysql -u root -p的时候,抛出了一个错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。(Ubuntu很早之前就装了,mysql亦是如此),因此没有修改过它的原始密码。

          网上查找了好久,各种说法均有!有的我操作了下,但貌似对centos有效,对Ubuntu则没有起到作用。还有的说,root的随机密码在/root/.mysql_secret中,但是我的系统中,根本没有/root/.mysql_secret文件。坑爹了去!!!后来翻墙,在Stack Overflow上找到答案。总结起来,步骤如下:

        第一,停止MySQL服务:(如果service mysql stop执行不成功,使用/etc/init.d/mysql restart即可----同理步骤三)


        第二,/etc/mysql/下,打开my.cnf文件,向其中加入skip-name-resolve   和 skip-grant-tables,并保存;


        第三, 启动MySQL服务:


        第四,输入mysql -u root -p,进入mysql命令行界面;


        第五,在命令行界面中,使用use mysql,进入对应的mysql数据库中;


        第六,执行update操作,UPDATE user SET authentication_string = PASSWORD('新的密码') WHERE User = 'root';这样的话,密码修改成功。下次就可以用最新密码了,而不会出现上述的错误了。


比如我这里,设置的最新密码为:123456.下次直接用这个密码就ok了!

       skip-name-resolve    禁止MySQL Server 对外部链接进行DNS解析,可以消除MySQL进行DNS解析的时间。但是如果开启了该选项,那么所有的远程主机连接授权都要使用IP地址,否则MySQL无法正常处理连接请求。

      skip-grant-tables 系统对任何用户的访问都不做任何的访问控制,即在忘记密码的情况下,可以直接登录数据库

      更改密码成功后,可以把这两项去掉的!

      参考文献:

https://stackoverflow.com/questions/33326065/unable-to-access-mysql-after-it-automatically-generated-a-temporary-password/33332443#33332443

https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html

http://www.cnblogs.com/timelesszhuang/p/5156572.html



                

版权声明:每解决一个问题,都是一次进步!不怕进步慢,只怕不进步!

相关文章推荐

ubuntu 14.10 mysql ERROR 1045解决办法

解决办法可以分为以下几步: 1.修改mysql配置文件,使得可以无密码登录mysql sudo vim /etc/mysql/my.cnf 在[mysqld]项下添加 skip-grant...

ubuntu, 解决Mysql root登录出错: ERROR 1045 (28000)

错误:   ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 解决: ...

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
  • 13351

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 ...

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...

Linux mysql: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办

案例环境:              操作系统 :Red Hat Enterprise Linux Server release 5.7 (Tikanga) 64 bit         ...

mysql安装在centos7报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

【问题】: 首次在centos下安装mysql,客户端连接mysql时报错: [root@localhost opt]# /usr/bin/mysql -u root ERROR 1045 (280...
  • kuluzs
  • kuluzs
  • 2016年07月16日 13:44
  • 4892

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

转自VC错误:http://www.vcerror.com/?p=1643 问题描述: 操作系统 :Red Hat Enterprise Linux Server release 5.7 (T...

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

我不懂为什么我在网上找的解决方案千篇一律全是: 1、停止当前mMySQL服务 /etc/init.d/mysqld stop 或  service mysqld stop 2、用户 --skip-...

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)(YES也一样的)

#1.停止mysql数据库 /etc/init.d/mysqld stop#2.执行如下命令 mysqld_safe --user=mysql --skip-grant-tables --skip-n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ubuntu下 MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”
举报原因:
原因补充:

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