CREATE USER 语句可以不指定初始密码。但是从安全的角度来说,不推荐这种做法。 使用 CREATE USER 语句必须拥有 mysql 数据库的 INSERT 权限或全局 CREATE USER 权限。 使用 CREATE USER 语句创建一个用户后,MySQL 会在 mysql 数据库的 user 表中添加一条新记录。 CREATE USER 语句可以同时创建多个用户,多个用户用逗号隔开。 新创建的用户拥有的权限很少,它们只能执行不需要权限的操作。如登录 MySQL、使用 SHOW 语句查询所有存储引擎和字符集的列表等。如果两个用户的用户名相同,但主机名不同,MySQL 会将它们视为两个用户,并允许为这两个用户分配不同的权限集合。
例 1
使用 CREATE USER 创建一个用户,用户名是 test1,密码是 test1,主机名是 localhost。SQL 语句和执行过程如下。
mysql> CREATE USER 'test1'@'localhost' IDENTIFIED BY 'test1'; Query OK, 1 rows affected (0.06 sec) 结果显示,创建 test1 用户成功。
在实际应用中,我们应避免明文指定密码,可以通过 PASSWORD 关键字使用密码的哈希值设置密码。
例 2
在 MySQL 中,可以使用 password() 函数获取密码的哈希值,查看 test1 哈希值的 SQL 语句和执行过程如下: