建站软件免费版下载,wordpress redis缓存,做网站怎么接业务,wordpress cform目录 一、用户操作查看当前拥有用户创建用户修改用户密码删除用户给root用户开放外网访问 二、用户权限操作授予权限的原则查看授予用户的权限给用户添加权限回收权限 一、用户操作
先要使用root用户登录MySQL后在执行后面操作
查看当前拥有用户
SELECT host,user,Grant_pri… 目录 一、用户操作查看当前拥有用户创建用户修改用户密码删除用户给root用户开放外网访问 二、用户权限操作授予权限的原则查看授予用户的权限给用户添加权限回收权限 一、用户操作
先要使用root用户登录MySQL后在执行后面操作
查看当前拥有用户
SELECT host,user,Grant_priv,Super_priv FROM mysql.user;这里可以看到有两个root用户但是运行访问host不同一个host为localhost只能本地访问一个host为%对所有ip开放访问。
创建用户
# 语法
CREATE USER 用户名host IDENTIFIED BY 你的密码;
# 例
# 创建test_01用户赋予所有IP连接权限
# 如果只想给某个IP使用可以写成127.0.0.1如果想给某个网段使用可以写成192.168.0.%%代表全部
CREATE USER test_01% IDENTIFIED BY 123456;修改用户密码
# MySQL8.0
ALTER USER 用户名host IDENTIFIED BY 新密码 PASSWORD EXPIRE NEVER;
# MySQL8.0之前版本
SET password FOR 用户名host password(新密码);删除用户
# 语法
DROP USER 用户名host;
# 例
# 删除用户名称为test_01 host为%的用户
DROP USER test_01%;给root用户开放外网访问
# 创建一个能被全部IP访问的root用户MySQL相同用户名称但是host不同代表的是两个不同用户
CREATE USER root% IDENTIFIED BY 你的密码;
# 赋予root% 用户全部权限和授权于下一个人用户权限的能力
GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION;二、用户权限操作
授予权限的原则
1只授予能满足需要的最小权限 防止用户干坏事。比如用户只是需要查询那就只给 select 权限就可以了不要给用户赋予update 、 insert 或者 delete 权限
2创建用户的时候限制用户的登录主机 一般是限制成指定 IP 或者内网IP 段。
3为每个用户设置满足密码复杂度的密码 。
4定期清理不需要的用户 回收权限或者删除用户。
# 授权语法
# 没有with GRANT option,被授权者无法授权于下一个人用户
GRANT 权限列表 on 库名.表名 to 用户名主机 [with GRANT option];mysql用户常用权限列表说明ALL 或者ALL PRIVILEGES授予用户所有权限CREATE授予用户创建新数据库和表的权限DROP授予用户删除数据库和表的权限DELETE授予用户删除表中的行的权限ALTER授予用户修改表结构的权限INSERT授予用户在表中插入行add的权限SELECT授予用户运行select命令以从表中读取数据的权限UPDATE授予用户更新表中的数据的权限
查看授予用户的权限
# 语法
SHOW GRANTS FOR 用户名host;# 例查看用户名root host为%
SHOW GRANTS FOR root%;给用户添加权限
添加权限后最好执行一下刷新权限操作 FLUSH PRIVILEGES;避免添加权限后生效不及时
# 语法
GRANT 权限类型 ON 库.表 TO 用户名host;# 例1给用户test_01 host为%的用户赋予全部权限和所有的库所有的表
GRANT ALL PRIVILEGES ON *.* TO test_01%;
# 例2给用户test_01 host为%的用户赋予全部权限和所有的库所有的表并且赋予具有授予下一个人权限的权利的授权
GRANT ALL PRIVILEGES ON *.* TO test_01% WITH GRANT OPTION;
# 例3给用户test_02 host为%的用户赋予指定权限和指定库指定表
GRANT SELECT,INSERT ON test_02_db.test_02_table TO test_01%;回收权限
# 语法
REVOKE 权限类型 ON 数据库.表 FROM 用户名host;# 例1回收赋权权限
REVOKE GRANT OPTION ON *.* FROM test_01%;
# 例1回收用户所有库所有权限不包含赋权权限
REVOKE ALL PRIVILEGES ON *.* FROM test_01%;
# 例2回收用户所有库的新增和修改权限
REVOKE INSERT,UPDATE ON *.* FROM test_01%;
# 例3回收用户指定数据库全部权限前提是在赋权时只给这个用户赋予了test_01_db库的权限
REVOKE ALL PRIVILEGES ON test_01_db.* FROM test_01%;