数据库

首页 » 常识 » 问答 » MySQL专栏mysql数据库用户管
TUhjnbcbe - 2025/5/13 22:17:00
北京白癜风治疗哪家医院最好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/mbbdf_zx/emwsafw/

下面介绍mysql数据库中用户管理的一些基本运维知识,包括用户的创建、密码管理、用户权限分配、用户删除等。#MySQL专栏#

用户创建

用户创建的常用命令如下:

CREATEUSERusername

hostIDENTIFIEDBYpassword;

其中,username指将创建的用户名;host指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%。需要特别注意用户后期的授权、撤销授权等,与创建时的host格式要保持一致;password指该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录。

常见的创建方式包括:

1、CREATEUSERTEST

localhostIDENTIFIEDBY;

2、CREATEUSERTEST

..1.1IDENDIFIEDBY;

3、CREATEUSERTEST

%IDENTIFIEDBY;

4、CREATEUSERTEST

%IDENTIFIEDBY;

5、CREATEUSERTEST

%;

修改用户密码之前关于修改用户密码专门写了一篇文章介绍,需要的跳转「MySQL专栏」MySQL用户密码设定的几种方法查看学习。查看用户

SELECTUser,Host,PasswordFROMmysql.user;(5.7之前版本)

SELECTUser,Host,authentication_stringFROMmysql.user;(5.7及之前版本)

应该就是5.7的版本是个分水岭,其他的版本没有实际测过,总之新的版本user中的Password字段调整为authentication_string了的。

删除用户

deletefrommysql.userwhereuser=TEST;或者dropuserTEST

localhost;

建议通过user表删除,避免host与用户创建时不一致报错的问题。

用户授权

用户授权命令参考为:GRANTprivilegesONdatabasename.tablenameTOusername

host;

其中:privileges指用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL;databasename指数据库名;tablename指具体表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*。

查看用户权限

查看用户权限,使用命令:showgrantsforusername

host

撤销用户权限

撤销用户权限命令:REVOKEprivilegeONdatabasename.tablenameFROMusername

host;

同用户授权部分,增加关键字revoke即可。

以上就是mysql数据库用户管理中关于用户的创建、密码管理、用户权限分配、用户删除、用户权限授权方面的运维知识。

1
查看完整版本: MySQL专栏mysql数据库用户管