mysql创建用户的三种方式

MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。
在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。
MySQL 提供了以下 3 种方法创建用户。

  1. 使用 CREATE USER 语句创建用户

  2. 在 mysql.user 表中添加用户

  3. 使用 GRANT 语句创建用户

1、使用 CREATE USER 语句创建用户

基本语法格式:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

参数说明:
username:你将创建的用户名。
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%。如果在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。user 表中存储的是密码哈希值。 password(str) 函数获取密码的哈希值。
例子:

create user 'dog'@'localhost' identified by '123456';
create user 'pig'@'192.168.1.101_' idendified by '123456';
create user 'pig'@'%' identified by '123456';
create user 'pig'@'%' identified by '';
create user 'pig'@'%';

 2、使用 INSERT 语句新建用户

可以使用 INSERT 语句将用户的信息添加到 mysql.user 表中,但必须拥有对 mysql.user 表的 INSERT 权限。通常 INSERT 语句只添加 Host、User 和 authentication_string 这 3 个字段的值。

MySQL 5.7 的 user 表中的密码字段从 Password 变成了 authentication_string,如果你使用的是 MySQL 5.7 之前的版本,将 authentication_string 字段替换成 Password 即可。

insert into mysql.user(host, user, authentication_string, ssl_cipher, x509_issuer, x509_subject) values ('hostname', 'username', password('password'), '', '', '');

新建用户成功后。但是这时如果通过该账户登录 MySQL 服务器,不会登录成功,因为 用户还没有生效,

使用 FLUSH 命令让用户生效,命令:flush  privileges; 让 MySQL 刷新系统权限相关表。执行 FLUSH 命令需要 RELOAD 权限

注意:user 表中的 User 和 Host 字段区分大小写,创建用户时要指定正确的用户名称或主机名。

3、使用GRANT语句新建用户

虽然 CREATE USER 和 INSERT INTO 语句都可以创建普通用户,但是这两种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。
使用 GRANT 语句创建用户的基本语法如下:

grant priv_type on database.table to 'username'@'host' identified by 'password' ;

其中:

  • priv_type 参数表示新用户的权限;
  • database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
  • user 参数指定新用户的账号,由用户名和主机名构成;
  • identified by 关键字用来设置密码;
  • password 参数表示新用户的密码。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户修改用户密码设置用户权限

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值