linux下 root 登录 MySQL 报错的问题

 更新时间:2016年02月13日 13:13:57   投稿:hebedich  
本文给大家记录的是个人在linux下使用root用户登录mysql的时候遇到的一个错误的解决方法,非常的简单实用,有需要的小伙伴可以参考下。

最近在centOS 7上,通过yum安装了mysql,安装成功后,使用root登录,出现了如下报错:

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

mysql版本为:Ver 14.14 Distrib 5.7.10, for Linux(X86_64) using EditLine wrapper

然而实际上并没有进行过root密码设置(不知道是不是安装过程有被忽略的地方?)。

对此就各种寻找答案,大致有下面一些情况:

有说root的随机密码位于/root/.mysql_secret中,但是我根本没有/root/.mysql_secret文件。有文章表示

> ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
> password: NO) :表示没有生成root的临时密码
> 
> ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
> password: YES) :表示生成了root的临时密码。

有些资料说root的默认密码为空,经过确认那是以前的老版本,Mysql 5.6及以后版本出处于安全考虑,root密码已经不为空了。
最终找到对我来说有用的解决方案。

产生原因:

Now that the password MySQL had generated is expired, the problem is reduced to getting this password to work again (1) or generate a new one (2). This can be accomplished by running MySQL with the skip-grant-tables option which would make it ignore the access rights:

解决方法:

复制代码 代码如下:

Stop your MySQL server.
Add skip-grant-tables at the end of the [mysqld] section of my.cnf file and save it.
Start MySQL server.
In terminal, typemysql -u root -pto get into MySQL command prompt.
In the command prompt, typeUSE mysql;to get into the mysql database where it keeps database users.
Type
UPDATE user SET password_expired = 'N' WHERE User = 'root';
to let MySQL know the password is not expired (1) or
UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';

附上链接:Unable to access MySQL after it automatically generated a temporary password

发布出来,供大家参考。

相关文章

  • MySQL中如何给一个字段递增赋值

    MySQL中如何给一个字段递增赋值

    这篇文章主要介绍了MySQL中如何给一个字段递增赋值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MYSQL必知必会读书笔记第四章之检索数据

    MYSQL必知必会读书笔记第四章之检索数据

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS)。接下来通过本文给大家介绍MYSQL必知必会读书笔记第四章之检索数据,感兴趣的朋友一起学习吧
    2016-05-05
  • 这种sql写法真的会导致索引失效吗

    这种sql写法真的会导致索引失效吗

    这篇文章主要给大家介绍了关于网上流传的某种sql写法会导致索引失效的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用sql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Ubuntu 14.04下安装MySQL

    Ubuntu 14.04下安装MySQL

    1、更新源列表打开"终端窗口",输入"sudo apt-getupdate"-->回车-->"输入root用户的密码"-->回车,就可以了。如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-getupdate------"的错误提示,导致无法安装。
    2016-04-04
  • mysql数据库decimal类型与decimal长度用法详解

    mysql数据库decimal类型与decimal长度用法详解

    在MySQL中decimal是一种用于存储精确数字的数据类型,下面这篇文章主要给大家介绍了关于mysql数据库decimal类型与decimal长度用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 多次执行mysql_fetch_array()的指针归位问题探讨

    多次执行mysql_fetch_array()的指针归位问题探讨

    多次执行mysql_fetch_array(),在第二次执行的时候,如果不加处理,就不会输出任何内容,这种情况下只需要对循环指针进行复位即可,感兴趣的朋友可以了解下啊,或许对你有所帮助
    2013-01-01
  • CentOS 6.2 安装 MySQL 5.7.28的教程(mysql 笔记)

    CentOS 6.2 安装 MySQL 5.7.28的教程(mysql 笔记)

    本文通过图文并茂的形式给大家介绍了CentOS 6.2 安装 MySQL 5.7.28的教程,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • MySQL大库搭建主从的一种思路分享

    MySQL大库搭建主从的一种思路分享

    这篇文章主要介绍了MySQL大库搭建主从的一种思路分享,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-03-03
  • MySQL下使用Inplace和Online方式创建索引的教程

    MySQL下使用Inplace和Online方式创建索引的教程

    这篇文章主要介绍了MySQL下使用Inplace和Online方式创建索引的教程,针对InnoDB为存储引擎的情况,需要的朋友可以参考下
    2015-11-11
  • 使用limit,offset分页场景时为什么会慢

    使用limit,offset分页场景时为什么会慢

    这篇文章主要介绍了使用limit,offset分页场景时为什么会慢,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论