MYSQL 创建用户,数据库,授权及修改密码

MYSQL 5.6

1.创建用户

1.1 格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%,%匹配所有主机,该地方设置成‘localhost’,代表只能本地访问。

1.2 例子:

允许本地 IP 访问
create user 'test'@'localhost' identified by '123456';
create user 'test'@'127.0.0.1' identified by '123456';
两种方式均可

允许外网 IP 访问
create user 'test'@'%' identified by '123456';

允许外网指定 IP 访问
create user 'test'@'1.1.1.1' identified by '123456';
指定外网IP1.1.1.1下的用户可以连接该数据库

2.创建数据库

2.1 格式:create database databasename DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

databasename:数据库名
注意此处的字符集为utf8mb4,排序规则为utf8mb4_general_ci

3.给用户授权

3.1 格式:GRANT privileges ON databasename.tablename TO 'username'@'host';

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
给用户授权的前提,必须该用户已存在。'test'@'host'中test为用户名,host为主机地址。

TIPS:

host scope description
localhost 本机 localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1 本机 会通过TCP/IP协议连接,并且只能在本机访问
::1 本机 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1
1.1.1.1 指定IP地址 该IP地址内网外网均可
% 所有IP地址 所有IP地址均可访问

3.2 例子:

授予用户通过外网IP对于该数据库的全部权限
grant all privileges on 'testdb'.* to 'test'@'%'';

授予用户在本地服务器对该数据库的全部权限
grant all privileges on 'testdb'.* to 'test'@'localhost';
用户test无法从internet上直接访问数据库,只能在MYSQL主机上来访问。

3.3 刷新权限:

使用以下语句刷新授权,修改立即生效
flush privileges;

4.撤销用户权限

4.1 格式:REVOKE privilege ON databasename.tablename FROM 'username'@'host';

4.2 例子:

REVOKE SELECT ON *.* FROM 'test'@'%';

5.修改用户密码

5.1 格式:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

5.2 例子:

SET PASSWORD FOR 'test'@'%' = PASSWORD("123456");

你可能感兴趣的:(MYSQL 创建用户,数据库,授权及修改密码)