mysql数据库如何增加用户
发布时间:2022-06-24 09:02:20 所属栏目: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数据库如何增加用户”有了更深的了解,不妨来实际操作一番吧! (编辑:荆州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

