一、问题描述
今天,笔者为了练习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’ 问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
您可能感兴趣的文章:
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
- linux mysql忘记密码的多种解决或Access denied for user ”root”@”localhost”
- mysql Access denied for user ‘root’@’localhost’ (using password: YES)解决方法
- mysql ERROR 1044 (42000): Access denied for user ””@”localhost” to database
- MySQL ERROR 1045 (28000): Access denied for user ”root”@”localhost” (using password: NO) 的原因分解决办法
- 新装MySql后登录出现root帐号提示mysql ERROR 1045 (28000): Access denied for use的解决办法
- 解决mysql创建数据库后出现:Access denied for user ”root”@”%” to database ”xxx”的问题
- ubuntu系统中Mysql ERROR 1045 (28000): Access denied for user root@ localhost问题的解决方法
- Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法