MySQL密码操作:
从5.7开始,mysql是强制要求重新修改密码再操作!!!
刚登陆mysql时:会有随机密码,登录输入随机密码,然后修改密码
mysql -uroot -p“随机密码”
用户密码修改
·使用SET命令修改用户密码
set password=password('123123'); //修改当前登陆用户密码
set password for 'lisi'@'localhost'=password('123456'); //修改其他用户密码
方法1:
mysqladmin -uroot -p'123456' password # 是cmd或者shell命令
方法2:
基于密码插件(mysql_secure_installation)完成修改
方法3:
# 新版本
ALTER USER root@localhost identified by '123456';
# 旧版本
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
方法4:
mysql> update mysql.user set authentication_string=password('123456')
-> where user='root' and host='localhost';
方法5:
set password for 'root'@'localhost' = 新密码; # 新版本
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码'); # 旧版本
方法6:
也可以使用grant这个综合性的命令完成。
grant all privileges on *.* to root@'localhost' identified by "123456";
方法7:
通过SQL来修改密码:
set password for 'root'@'localhost' = 新密码;
alter user 'root'@'localhost' identified by '新密码';
grant all privileges on *.* to root@'localhost' identified by "123456";
遗忘root密码的解决方法
如果root密码忘记了
可以使用系统的root账号,来强制登录MySQL服务器中
在配置文件中启用:skip_grant_tables,重启MySQL服务器
表示该MySQL跳过权限校验
mysql命令直接进入到MySQL服务器
·先关闭正在运行中的MySQL进程
systemctl stop mysqld.service
netstat -ntap | grep 3306 //查询不到3306端口信息,则表示mysql进程已结束
killall mysqld //**如果正常的停止命令无法关闭进程,则可使用该命令
·使用跳过user表验证的方式登陆
mysqld --skip-grant-tables
更改密码
输入上一条命令后重新打开新的终端登陆
mysql -u root //新终端登陆
update mysql.user set authentication_string=password('abcabc') where user='root';
//更改用户表(user)中的密码项
flush privileges; //刷新,刷新之后方能使用新密码登陆系统
删除 skip-grant-tables,重启数据库验证新密码