MySQL创建用户

来源: 2024-07-05 21:46:20 播报

MySQL创建用户有3种方法,一种是通过INSERT向用户用户表user插入一条记录,第二种是通过CREATE USER语句创建,第三种是 GRANT 通过授权时创建。

一、INSERT USER 方法向USER表插入一条记录:

格式:

insert into user (host,user,password) values (’%’,‘wangxiansong’,password(‘123456’));

示例:

mysql> insert into user (host,user,password) values ('localhost','xiaojianbing',password('123456'));

    Query OK, 1 row affected, 3 warnings (0.00 sec)

说明:

host 主机名: 可以用主机名和IP地址,也可以用通配符, 通配符说明: 192.168.0.%(IP地址为192.168.0段的所有IP地址都可以访问)

二、 CREATE USER 方法:

说明:

host="localhost"为本地登录用户

host="ip"为ip地址登录

host="%",为外网ip登录

格式:

CREATE USER 'username'@'host' [IDENTIFIED BY 'PASSWORD'];

说明:

其中密码是可选项。该方法创建出来的用户只有连接数据库的权限,需要后续继续授权。

格式:

CREATE USER 'root'@'192.168.189.71' IDENTIFIED BY "123456";
    CREATE USER 'root'@'192.168.189.%' IDENTIFIED BY "123456";
    CREATE USER 'root'@' %' ;

示例:

mysql> create user 'test'@'localhost' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    mysql> create user 'ruanqiulin'@'localhost';
    Query OK, 0 rows affected (0.00 sec)
    mysql> create user 'xiansong'@'%' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    mysql> create user 'liscao'@'%';
    Query OK, 0 rows affected (0.00 sec)

指定创建用户账号,格式为 'user_name'@'host_name'。这里user_name是用户名,host_name为主机名,即用户连接 MySQL 时所在主机的名字。若在创建的过程中,只给出了账户的用户名,

而没指定主机名,则主机名默认为“%”,表示一组主机。

mysql> create user 'wangxiansong' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)

三、GRANT命令创建用户

当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。

格式:

grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';

示例:

mysql> GRANT SELECT, INSERT ON mysql.user TO 'pig'@'%';
    Query OK, 0 rows affected (0.03 sec)