MySQL
在安装时,会默认创建一个名为 root
的用户,该用户拥有超级权限,可以控制整个 MySQL
服务器,但是在刚刚入门时可能由于对数据库的不了解,会导致对数据库的错误使用,所以我们通常创建一些具有适当权限的用户。
1.使用CREATE USER语句创建用户
CREATE USER <用户> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
-
用户:指定创建用户账号,格式为 user_name'@'host_name。这里的user_name是用户名,host_name为主机名
-
IDENTIFIED BY子句 :用于指定用户密码。新用户可以没有初始密码,若该用户不设密码,可省略此子句。
-
PASSWORD 'password':PASSWORD 表示使用哈希值设置密码,该参数可选。如果密码是一个普通的字符串,则不需要使用 PASSWORD 关键字。'password' 表示用户登录时使用的密码,需要用单引号括起来。
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'), '', '', '');
3. 使用GRANT语句新建用户
虽然 CREATE USER 和 INSERT INTO 语句都可以创建普通用户,但是这两种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
-
priv_type 参数表示新用户的权限;
-
database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
-
user 参数指定新用户的账号,由用户名和主机名构成;
-
IDENTIFIED BY 关键字用来设置密码;
-
password 参数表示新用户的密码。
推荐:《mysql教程》