方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
方法4:
在丢失root密码的时候,可以这样
Linux下MySQL重置密码
Linux下重置密码的操作与Windows下类似。
1
2
3
4
5
|
# 停止MySQL服务
[root@www ~]# /etc/init.d/mysql stop
# 以安全模式启动MySQL
[root@www ~]# /usr/
local
/mysql/bin/mysqld_safe
--skip-grant-tables &
|
1
2
3
4
5
6
|
# 登录MySQL
[root@www ~]# mysql -u root -p
mysql> use mysql;
mysql>
update
user
set
password
=
password
(
"123456"
)
where
user
=
"root"
;
mysql> flush
privileges
;
|
1
2
|
# 启动MySQL服务
[root@www ~]# /etc/init.d/mysql start
|
方法5:
在MySQL运行时可以使用超级权限修改此配置:
还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。
禁用密码过期:
让用户使用默认的密码过期全局策略:
从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码: