目录
问题
ubuntu 18.04 安装 mysql 后,登录时出现 ERROR 1045 (28000): Access denied for user 'root'@'localhost'
版本描述:ubuntu18.04
操作时间:2019 年 9 月
解决办法
- 打开修改 mysqld.cnf 文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 定位 [mysqld] 位置,加入一行:
skip-grant-tables
,保存退出。这个界面可以留着,因为后面还会回来。 - 重启 mysql 服务
sudo service mysql restart
- 空密码进入 mysql 管理命令行即:
mysql
, 此时已经进入 mysql 模式 - 执行下列语句
mysql> use mysql
mysql> update mysql.user set authentication_string=password('新密码'),plugin='mysql_native_password'where user='root';
mysql> flush privileges;
mysql> exit;
- 回到
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
,将之前添加的skip-grant-tables
删除掉 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 找到
[mysqld]
删除掉skip-grant-tables
- 使用新的密码登陆,修改成功:
mysql -u root -p
- 提示输入密码,将设置的密码输入