增加mysql的会员名和密码有哪些语句?
mysql中增加会员名和密码的语句:1、CREATE USER语句,可以创立一般会员,并设定响应的密码;2、INSERT语句,可以创建一般会员,并设定响应的密码;3、GRANT语句,创建会员,并设定响应的密码和会员权限。
(引荐教程:mysql视频教程)
MySQL 在安置时,会默许创立一个名为 root 的会员,该会员具有超级权限,可以操纵整个 MySQL 效劳器。
在对 MySQL 的日常治理和操纵中,为了不有人歹意使用 root 会员操纵数据库,我们平常创立一些具有恰当权限的会员,尽大概地不消或少用 root 会员登录系统,以此来确保数据的平安拜访。
MySQL 供给了以下 3 种办法来创立会员,增加会员名和密码。
使用 CREATE USER 语句创立会员,增加会员名和密码。
在 mysql.user 表中增加会员,增加会员名和密码。
使用 GRANT 语句创立会员,增加会员名和密码。
下面按照实例具体讲解这 3 种办法。
1. 使用CREATE USER语句创立会员
可以使用 CREATE USER 语句来创立 MySQL 会员,并设定响应的密码。其根本语法格局如下:
CREATE USER <会员> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,会员 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
参数说明如下:
1) 会员
指定创立会员账号,格局为 user_name'@'host_name。这里的user_name是会员名,host_name为主机名,即会员连接 MySQL 时所用主机的名字。假如在创立的历程中,只给出了会员名,而没指定主机名,那么主机名默许为“%”,表示一组主机,即对所有主机开放权限。
2) IDENTIFIED BY子句
用于指定会员密码。新会员可以没有初始密码,若该会员不设密码,可省略此子句。
3) PASSWORD 'password'
PASSWORD 表示使用哈希值设定密码,该参数可选。假如密码是一个一般的字符串,则不需要使用 PASSWORD 关键字。'password' 表示会员登录时使用的密码,需要用单引号括起来。
使用 CREATE USER 语句时应留意以下几点:
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 语句和施行历程如下:
mysql> SELECT password('test1'); +-------------------------------------------+ | password('test1') | +-------------------------------------------+ | *06C0BF5B64ECE2F648B5F048A71903906BA08E5C | +-------------------------------------------+ 1 row in set, 1 warning (0.00 sec) “*06C0BF5B64ECE2F648B5F048A71903906BA08E5C”就是 test1 的哈希值。下面创立会员 test1,SQL 语句和施行历程如下: mysql> CREATE USER 'test1'@'localhost'IDENTIFIED BY PASSWORD '*06C0BF5B64ECE2F648B5F048A71903906BA08E5C'; Query OK, 0 rows affected, 1 warning (0.00 sec)
施行成功后就可以使用密码“test1”登录了。
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 语句创立会员的代码如下:
INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES ('hostname', 'username', PASSWORD('password'), '', '', '');
由于 mysql 数据库的 user 表中,ssl_cipher、x509_issuer 和 x509_subject 这 3 个字段没有默许值,所以向 user 表插入新记载时,必然要设定这 3 个字段的值,不然 INSERT 语句将不克不及施行。
例 3
下面使用 INSERT 语句创立名为 test2 的会员,主机名是 localhost,密码也是 test2。SQL 语句和施行历程如下:
mysql> INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES ('localhost', 'test2', PASSWORD('test2'), '', '', ''); Query OK, 1 row affected, 1 warning (0.02 sec)
结果显示,创建会员成功。但是这时假如通过该账户登录 MySQL 效劳器,不会登录成功,由于 test2 会员还没有生效。
可以使用 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 user [IDENTIFIED BY [PASSWORD] 'password']
其中:
priv_type 参数表示新会员的权限;
database.table 参数表示新会员的权限范畴,即只能在指定的数据库和表上使用本人的权限;
user 参数指定新会员的账号,由会员名和主机名构成;
IDENTIFIED BY 关键字用来设定密码;
password 参数表示新会员的密码。
例 4
下面使用 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 中一个非常重要的语句,它可以用来创立会员、修改会员密码和设定会员权限。教程后面会具体介绍怎样使用 GRANT 语句修改密码、更换权限。
以上就是增加mysql的会员名和密码是啥语句?的具体内容,更多请关注百分百源码网其它相关文章!