在安装完MySQL5.7之后,就需要通过mysql -u root进入mysql系统进行数据库&表的创建等工作。
但是在输入mysql -u root回车之后,会出现如下信息:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
提示我们需要root账号对应的密码,密码哪里来?我们该如何解决这个问题呢?
首先,这个问题是在MySQL5.7版本之后才会有这个问题的。下面,我们通过两种方式解决这个问题。
方法一:免密码登录使用
在{MySQL5.7}/根目录下,找到my.ini文件,在[mysql]的最后添加如下配置项:
skip-grant-tables
保存后,回到控制台,重启MySQL服务,命令如下:
net stop mysql
net start mysql
重启完成后,再次输入命令:
mysql -u root
就会直接进入MySQL系统了;
方法二:使用密码登录
该方案需要基于方法一,先进入系统之后,通过相关的操作,设置密码,命令如下:
show databases; (显示现有数据库)
use mysql; (使用mysql数据库)
show tables; (显示mysql数据库里的数据表)
select Host, User, authentication_string from user; (查询user表里现有的用户信息)
update user set authentication_string=password('123456') where user='root' and Host='localhost'; (更新root用户的密码为123456)
exit (退出MySQL系统)
将方法一中的配置的“skip-grant-tables”注释掉,以免重启服务后,仍然不需要密码就可以进入MySQL系统了;
net stop mysql (停止MySQL服务)
net start mysql (启动MySQL服务)
mysql -u root -p (重新登录MySQL系统,此时输入的密码就是123456)
至此,大功告成。
网友评论