解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题

一、问题描述

今天,笔者为了练习sql,在ubuntu16.04上安装了MySQL。笔者在网上搜索了在ubuntu16.04安装mysql的步骤,并跟着步骤一步步操作,然而,让笔者无法明白的是,网上说在安装mysql的过程会弹出输入密码的窗口,然而笔者在安装的过程中没有弹出任何窗口,而且也没有报错。

正当笔者在登录mysql时,问题就出现了,如图:

如图,笔者尝试多种输入方式,但都得到了一个同样地令人忧伤的结果,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

为了明白这个问题,笔者又在网上广泛搜索,从

MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)的真正原因

这条链接找到了问题产生的原因,然而笔者学识尚浅,看得不是很懂,但笔者还是要解决问题的呀,于是就换个话题搜索,既然笔者不知道密码,那么我就以“忘记root密码”为搜索对象,于是找到了

ubuntu 16.04 下重置 MySQL 5.7 的密码(忘记密码)

然而,到了这里,笔者还是不能解决问题,因为

笔者的配置文件/etc/mysql/my.cnf下没有[mysqld]这一段啊哭

后来,笔者又在网上折腾了许久,终于在/etc/mysql/mysql.conf.d/mysqld.cnf 这个文件里找到了[mysqld]这一段,感动啊

至此笔者认为,mysql5.7.17将原先意义的my.cnf改为mysqld.cnf,并放在/etc/mysql/mysql.conf.d/路径下。

到此,笔者遇到问题总算解决了,真是开心呀!

下面笔者介绍自己的mysql安装过程和问题的具体解决过程。

二、mysql安装过程

在ubuntu终端下依次输入命令:

 $ sudo apt update
 $ sudo apt-get install mysql-server mysql-client 

三、问题解决过程

1.打开/etc/mysql/mysql.conf.d/mysqld.cnf 文件,命令如下

 $ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

2.找到[mysqld]段,并加入一行“skip-grant-tables”,如下图,

3.重启mysql服务,用空密码进入mysql管理命令行,切换到mysql库,操作命令如下,

 $ mysql
 Welcome to the MySQL monitor. Commands end with ; or \g.
 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 mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
 Query OK, 1 row affected, 1 warning (0.00 sec)
 Rows matched: 1 Changed: 1 Warnings: 1
 mysql> update user set plugin="mysql_native_password";
 Query OK, 0 rows affected (0.00 sec)
 Rows matched: 3 Changed: 0 Warnings: 0
 mysql> flush privileges;
 Query OK, 0 rows affected (0.01 sec)
 mysql> quit;
 Bye

4.回到sudo vi  /etc/mysql/mysql.conf.d/mysqld.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。

5.再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。

 $ mysql -u root -p new_pass
 Welcome to the MySQL monitor. Commands end with ; or \g.
 mysql> 

以上所述是小编给大家介绍的解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' 问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • MySQ登录提示ERROR 1045 (28000)错误的解决方法

    今天,登录服务器准备修改数据库的一些东西.但输入密码,却进不了数据库并提示一个错误,如下图 再确认密码没错的情况下,还是进不了数据库.便在网上找到了解决方法,记录下来,供参考学习. 解决方法: 总体思路: (Linux系统下)关闭MySQL服务,配置MySQL,使其免密码登录,然后重新设置密码,刷新数据库,将之前的配置去掉,重启MySQL. 1.关闭MySQL服务,命令:service mysqld stop.找到你的MySQL配置文件,每个人装的位置可能不同,比如我的配置文件,如下图 2.在配

  • MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法

    MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办法和原因 这两天下载了MySQL5.7.11进行安装,发现到了初次使用输入密码的时候,不管怎样都进不去,即使按照网上说的在mysqld 下面添加skip-grant-tables也是不行,后来研究了两天,终于找出原因和解决办法. 复制代码 代码如下: [mysqlld] skip-grant-tables: 原因

  • ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)实用解决方案

    昨天连数据库没有问题,但是今天连接数据库就报这个错误了,网上也搜了不少的方法,有一个方法解决了我的问题.我的环境是Linux 步骤:首先需要跳过密码认证,在Linux环境中找到/etc/my.cnf文件,在文件中找到mysqld,在mysqld下边加上skip-grant-tables语句,这样的话就避过密码验证了,然后重启mysql,/etc/init.d/mysqld restart,进行密码的修改, 如下, mysql> use mysql; mysql> update user set

  • 解决mysql ERROR 1045 (28000)-- Access denied for user问题

    问题描述(以下讨论范围仅限Windows环境): D:\develop\ide\mysql\mysql5.5\bin> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) 第一步:编辑mysql安装目录中的配置文件my.ini,在[mysqld]这个条目下加入 skip-grant-tables 如下图: 保存退出后

  • mysql ERROR 1045 (28000)问题的解决方法

    遇到mysql ERROR 1045 这个问题搞了很久,自己记下来.方法是百度的,亲测有效. ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)-----这次是这个问题 windows下,以上两个错误的解决方法 1.找

  • mysql登录报错提示:ERROR 1045 (28000)的解决方法

    本文分析了mysql登录报错提示:ERROR 1045 (28000)的解决方法.分享给大家供大家参考,具体如下: 一.问题: 公司linux系统的mysql数据库root用户设置过密码,但常常用命令'mysql -u root -p'登录报错,有时又能登录.登录报错信息为: [root@localhost ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localho

  • 解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)

    一.问题 有时候我们登录Mysql输入密码的时候,会出现这种情况 mysql -u root -p Enter Password > '密码' 错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 或者:错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 二.

  • MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决

    第一种方法: 推荐错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误. 原因分析: 在mysql.user表中可能出现user为空的记录,如: mysql> select host,user from user; +------------------+------+ | host | user | +------------------+------+ | % | test | | localhost

  • 解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题

    一.问题描述 今天,笔者为了练习sql,在ubuntu16.04上安装了MySQL.笔者在网上搜索了在ubuntu16.04安装mysql的步骤,并跟着步骤一步步操作,然而,让笔者无法明白的是,网上说在安装mysql的过程会弹出输入密码的窗口,然而笔者在安装的过程中没有弹出任何窗口,而且也没有报错. 正当笔者在登录mysql时,问题就出现了,如图: 如图,笔者尝试多种输入方式,但都得到了一个同样地令人忧伤的结果,ERROR 1045 (28000): Access denied for user

  • 解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题

    一.问题描述 今天,笔者为了练习sql,在ubuntu16.04上安装了MySQL.笔者在网上搜索了在ubuntu16.04安装mysql的步骤,并跟着步骤一步步操作,然而,让笔者无法明白的是,网上说在安装mysql的过程会弹出输入密码的窗口,然而笔者在安装的过程中没有弹出任何窗口,而且也没有报错. 正当笔者在登录mysql时,问题就出现了,如图: 如图,笔者尝试多种输入方式,但都得到了一个同样地令人忧伤的结果,ERROR 1045 (28000): Access denied for user

  • 解决Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)的方法

    目录 问题:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 解决方法: 第一步:关闭Mysql服务 第二步:跳过Mysql密码验证 第三步:无密码方式进入Mysql 第四步:将登陆密码设置为空 第五步:更改自己的登陆密码 最后一步:验证密码是否修改成功 总结 2021年11月25日修改,标示打开的CMD窗口次序. 问题:ERROR 1045 (28000): Access den

  • ubuntu系统中Mysql ERROR 1045 (28000): Access denied for user root@ localhost问题的解决方法

    第一种方式: skip-grant-tables:非常有用的mysql启动参数 介绍一个非常有用的mysql启动参数-- --skip-grant-tables.顾名思义,就是在启动 mysql时不启动grant-tables,授权表.有什么用呢?当然是忘记管理员密码后有用. 以命令行参数启动mysql:# /usr/bin/mysqld_safe --skip-grant-tables & 3.修改管理员密码: use mysql; update user set password=passw

  • ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

    前言 最近学习linux,然后将win换成了ubuntu.之前安装的mysql也不能用了,现在将在ubuntu18.0.4上安装mysql并将碰到的问题记录如下: 下载并安装mysql 执行语句sudo apt-get install mysql-server 因为我这里已经安装好了的,所以会出现这样的.可以通过mysql --version查看安装版本. 登录mysql 执行语句 mysql -u root -p 其-u是user -p是端口.登录时出现ERROR 1698 (28000):

  • 新装MySql后登录出现root帐号提示mysql ERROR 1045 (28000): Access denied for use的解决办法

    新装MySQL后,首次执行 mysql -uroot -p 后会发现root密码不为空,要重置root密码请参考以下步骤. 编辑mysql配置文件my.ini(如果是my_default.ini请改名为my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql,点击"开始"->"运行"(快捷键Win+R). 1.停止:输入 net stop mysql 2.启动:输入 net start mysql 这时候在

随机推荐