1. 跳过密码登录mysql
1) 停止mysql服务
systemctl mysql stop
2) 修改配置文件免密码登录
a. 自行找到my.cnf文件(默认在 /etc/my.cnf,没有可以find / - name *mysql* 全局搜索)
vim my.cnf
b. 添加跳过授权表登录
skip-grant-tables
3) 启动mysql服务
systemctl start mysql
4) 登录
mysql -uroot -p
不用输密码,直接"Enter"进入
2. 修改密码
1) 修改密码
a. 切换到mysql库
use mysql
b. 修改密码
I. 碰运气 i. 查看用户密码
select `user`,`authentication_string` from user where `user` = 'root';
带表示是mysql5以后的,不带*表示mysql5之前(跟下面解密有关) ii. 如果是简单密码,可以去cmd5试试能不能解密(我的复杂密码没解密出来) ①. 带的类型选择mysql5,不带*的选择mysql iii. 如果成功解密,建议更改密码,说明你密码不安全 II. 修改密码
update user set authentication_string = '新密码' where `user` = 'root';
2) 刷新
一定要刷新,不刷新报"ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables"的错
flush privileges;
3) 修改用户连接密码
a. 查看用户信息(跟上面查看用户密码一样)
select `user`,`host` from user where `user` = 'root';
这个host就是允许连接的ip,刚安装的应该是localhost %代表任何ip都可以连接,不建议这样改
b. 修改连接密码
alter user 'root'@'%' identified by '你上面的密码';
4) 刷新
flush privileges;
3. 退出mysql
quit
4. 改回密码验证
1) 停止mysql服务
systemctl stop mysql
2) 改回配置
vim /etc/my.cnf
注释掉跳过授权表
3) 启动mysql服务
systemctl start mysql
4) 输入修改后的密码登录
mysql -u用户名 -p密码 [-P端口] [-hip]
|