• 技术文章 >数据库 >mysql教程

    mysql数据库怎么增加用户

    青灯夜游青灯夜游2022-06-14 17:18:45原创237

    增加用户的两种方法:1、使用CREATE USER语句新建用户并设置相应的密码,语法“CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password']”。2、用GRANT语句新建用户,语法“GRANT 用户权限 ON database.table TO 用户 [IDENTIFIED BY [PASSWORD] 'password']”。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。

    在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。

    mysql数据库增加(创建)用户的两种方法

    1、使用MySQL CREATE USER语句新建用户

    可以使用 CREATE USER 语句来创建 MySQL 用户,并设置相应的密码。其基本语法格式如下:

    CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];

    1) 用户

    指定创建用户账号,格式为 username'@'hostname。这里的user_name是用户名,host_name为主机名,即用户连接 MySQL 时所用主机的名字。如果在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”,表示一组主机,即对所有主机开放权限。

    3) IDENTIFIED BY子句

    用于指定用户密码。新用户可以没有初始密码,若该用户不设密码,可省略此子句。

    2) PASSWORD 'password'

    PASSWORD 表示使用哈希值设置密码,该参数可选。如果密码是一个普通的字符串,则不需要使用 PASSWORD 关键字。'password' 表示用户登录时使用的密码,需要用单引号括起来。

    注:密码必须是明文。在将用户帐户保存到user表中之前,MySQL将加密密码。

    例如,要创建一个使用 密码dbadmin连接到MySQL数据库服务器 的新用户,请使用以下 语句:localhostsecretCREATE USER

    CREATE USER dbadmin@localhost 
    IDENTIFIED BY 'secret';

    要查看用户帐户的权限,请使用以下SHOW GRANTS语句:

    SHOW GRANTS FOR dbadmin@localhost;

    1.png

    结果中的*.*表示用户帐户dbadmin只能登录数据库服务器,没有其他权限。要向用户授予权限,请使用GRANT语句。

    请注意,点(.)前面的部分代表数据库,点(.)后面的部分代表表格,例如, database.table

    要允许用户帐户从任何主机进行连接,请使用百分比(%) 通配符,如以下示例所示:

    CREATE USER superadmin@'%'IDENTIFIED BY 'secret';

    百分比通配符% 与在LIKE运算符中使用的效果相同,例如,要允许mysqladmin用户帐户从begtut.com 主机的任何子域连接到数据库服务器 ,请使用百分比通配符% ,如下所示:

    CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';

    请注意,您还可以在CREATE USER 语句中使用下划线通配符_ 。

    如果省略hostname 用户帐户的一部分,MySQL将接受它并允许用户从任何主机连接。例如,以下语句创建一个名为remote 可以从任何主机连接到数据库服务器的新用户帐户:

    CREATE USER remote;

    您可以看到授予remote用户帐户的权限,如下所示:

    SHOW GRANTS FOR remote;

    2.png

    如果您不小心引用了用户帐户'username@hostname',MySQL会创建一个用户 username@hostname name 并允许用户从任何主机连接,这可能不是您所期望的。

    例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

    CREATE USER 'api@localhost';
    SHOW GRANTS FOR 'api@localhost';

    3.png

    如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote已存在的名为的用户帐户:

    CREATE USER remote;

    MySQL发出以下错误消息:

    ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'

    注意:CREATE USER 语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT 语句。

    2、使用MySQL GRANT 语句新建用户

    虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。

    使用 GRANT 语句创建用户的基本语法形式如下:

    GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']

    其中:

    示例:

    下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:

    mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3';
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

    技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

    【相关推荐:mysql视频教程

    以上就是mysql数据库怎么增加用户的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql
    上一篇:mysql中去掉空格的函数有哪些 下一篇:mysql中金额用什么类型
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• mysql中时间用什么类型• mysql索引有什么用• mysql的启动失败信息会保存在哪个日志中• mysql函数中可以用游标吗• cmd中怎么停止mysql服务• mysql存储过程的优缺点是什么
    1/1

    PHP中文网