加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql数据库如何增加用户

发布时间:2022-06-23 16:07:50 所属栏目:MySql教程 来源:互联网
导读:MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。 在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系
  MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。
 
  在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。
 
  mysql数据库增加(创建)用户的两种方法
 
  使用 CREATE USER 语句创建用户
  使用 GRANT 语句创建用户
  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;
 
  结果中的*.*表示用户帐户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;
 
  如果您不小心引用了用户帐户'username@hostname',MySQL会创建一个用户  username@hostname name 并允许用户从任何主机连接,这可能不是您所期望的。
 
  例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。
 
  CREATE USER 'api@localhost';
  SHOW GRANTS FOR 'api@localhost';
 
  如果您创建一个已存在的用户,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']
  其中:
 
  priv_type 参数表示新用户的权限;
  database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
  user 参数指定新用户的账号,由用户名和主机名构成;
  IDENTIFIED BY 关键字用来设置密码;
  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 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。
 
  到此,相信大家对“mysql数据库如何增加用户”有了更深的了解,不妨来实际操作一番吧!

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!