当我开开心心在linux下安装MySQL成功后,在终端输入mysql -u root -p回车后却出现了 Access denied for user 'rose'@'localhost' (using password: NO) 这个错误。以前安装没有遇到过这个问题。mysql
网上搜了下发现是 用户访问被拒绝”玫瑰'@'本地主机'(使用密码:无)。linux
在搜索了好多解决方案后发现都没有完全解决个人问题,最后我本身结合了下这几种方案最终成功的解决了个人问题。话很少说方法以下。sql
既然咱们没法经过root用户进入MySQL,那咱们就只能经过其余用户登陆MySQL了。在咱们下载安装MySQL的时候系统给咱们建立了一个用户。打开 /etc/mysql/debian.cnf 。socket
内容以下:加密
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = pdVNwcfOhr6PX2o2
socket = /var/run/mysqld/mysqld.sockip
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = pdVNwcfOhr6PX2o2
socket = /var/run/mysqld/mysqld.sock登录
咱们找到client的user和password,而后在终端输入 mysql -u debian-sys-maint -p 而后回车输入 pdVNwcfOhr6PX2o2。这样就进入了MySQL了,进入以后咱们 use mysql,而后打开user表。发现里面有用户的信息其中就有root可是密码是被mysql5加密的。(这个密码解密须要付费就放弃了)。
接下来就简单了,既然咱们不知道root密码。那就直接改就行了。在user表下输入set password for 'root'@'localhost'=password('你的密码'); 而后重启mysql服务。输入mysql -u root -p 回车 你的密码。就能够了。cli