今天重装了mysql,版本是5-7-21设置完环境变量后直接cmd输入mysql -u root -p
、
MySQL\bin>mysql -u root -p
enter password:
由于没有设置初始密码,直接回车也没用
显示
Access denied for user ‘root’@’localhost’
然后查了下怎么改密码或者跳过密码步骤,
借鉴了两处
https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html
https://www.cnblogs.com/wangbaobao/p/7087032.html
找到了跳过密码验证的方法:
1.在任务管理器结束mysqld.exe
输入命令
、
mysqld –skip-grant-tables
再新开一个cmd窗口
跳过mysql的用户验证
在cmd转到mysql\bin\
之后直接用mysql指令就可以进入
databases中的mysql保存用户名,
show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
2.之后想查看表中的user,password,host
mysql> update user set password=password('mmmm') where user='root' and host='localhost';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
再一查发现是5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
mysql>update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
改完密码后面就可以用新密码登录了。