Ubuntu下MySQL出现 ----> ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

出现的原因就是你忘记了密码,或者是在安装的时候没有仔细看,直接ok了
解决办法:

  1. 暴力无密码直接连接法
在Ubuntu的终端下(找不到终端搜索terminal)上输入 
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

进入到一个可以编辑的文件中,vim操作,懂的直接跳过(首先按i,进入编辑模式,找到[mysqld],在这个模块的最后一行加入skip-grant-tables。)
如下图所示:Ubuntu下MySQL出现 ----> ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘_第1张图片
之后就是按一下ESC,再按wq保存退出就可以了
tip:增加这行代码的意思就是让你可以无密码登录MySQL
重启MySQL,在终端输入:service mysql restart。
然后再在终端输入:mysql -u root -p (让你输密码直接回车就可以,直接进入MySQL)

  1. 想要使用密码(为了数据安全)
    上一步进入了MySQL,依次输入如下代码
use mysql;   												# 按回车
update user set authentication_string=password("重新设置的MySQL密码") where user="root";     # 按回车
3 flush privileges;   										# 按回车

然后再输入quit,退出MySQL
重新进入之前的文件,在终端输入:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把之前的代码注释掉 --> # skip-grant-tables
保存并且退出去
再在终端上重新启动MySQL:mysql -u root -p
现在再输入刚才设置的密码,就可以进入了

你可能感兴趣的:(python教程,ubuntu,mysql)