如何让mysql 新加的用户立即生效,而不重起mysql

如何让mysql 新加的用户立即生效,而不重起mysql,第1张

可以用phpMyAdmin通过输入语句的方法建立用户,或者一般的图形界面的SQL管理程序也可以建立和编辑用户.

这里只说使用GRANT语句的方法,当然还有直接修改MySQL表的方法,不过很麻烦,用的人不多~

前提是有MySQL root权限

例子:建立另一个超级用户(所有权限)的方法

GRANT ALL ON *.* TO username@localhost IDENTIFIED BY 'password' WITH GRANT OPTION

localhost是主机名,也可以是IP,用于限定这个用户是否可以远程连接.还可以用通配符"%",比如%.im286.com,或者202.97.224.%

*.* 中第一个星星是数据库名(*为所有数据库),第二个星星是表名(*为前面数据库下的所有表)

ALL 是指全部语句的 *** 作权限(经常看到虚拟主机等的用户没有DROP权限,就是这里做了手脚)

语法大概就是这样吧.

必须使用flush privileges的两种情况

1、改密码。

2、授权超用户。

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。

通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

扩展资料:

mysql 修改密码后,注意flush privileges。

mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。

具体例子:

1、用户root用户进入mysql再打开mysql数据库(use mysql)后。

create user stu identified by ‘stu’    ##创建一用户stu并添加密码为stu。

exit    ##退出测试。

2、用新用户重新进入mysql。

mysql -ustu -pstu   ##进入成功。

3、重新使用root用户进入mysql并打开mysql数据库。

update user set password=password (‘123456’) where user='stu'   ##更改stu用户密码为123456。

exit     ##再次退出测试。

4、直接以用户stu身份进入,用新密码进入看是否成功。

mysql -ustu -p123456  ##报错,密码不正确。

5、重新以root 用户登陆并进入mysql数据库,重新修改用户密码。

update user set password=password (‘123456’) where user='123456'   ##更改stu用户密码为123456

flush privileges   ##刷新MySQL的系统权限相关表。

exit

6.再次退出,并以stu用户123456密码进入,测试成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7471856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存