MySql教程

MySQL 用户 按需分配 mysql 权限

本文主要是介绍MySQL 用户 按需分配 mysql 权限,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

-- 其他远程连接的应用用户 按需分配 mysql 权限 
-- select,insert,update,delete 等权限,没有 super 

-- win 使用mysqld --initialize命令后创建
-- MySQL的安装目录下的data文件夹,下面的 XXX.err 文件 如DESKTOP-GURKLIR.err

-- centos 启动mysql
systemctl start mysqld
-- 初始密码写入日志
grep 'temporary password' /var/log/mysqld.log 

-- MySQL登录后使用这个命令查看密码策略 
show variables like 'validate%';
-- 可以使用以下命令进行修改
-- 密码验证策略低要求(0或LOW代表低级)
set global validate_password.policy=MEDIUM;
-- 密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=1;
-- 密码至少要包含的数字个数。
set global validate_password.number_count=1;
-- 密码至少要包含的特殊字符数
set global validate_password.special_char_count=1;
-- 密码长度
set global validate_password.length=8;
-- 修改密码
alter user 'root'@'localhost' identified by '满足策略的密码';

-- 按mysql_native_password加密方式修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '满足策略的密码';

-- 查询用户
select user from user;
select user from 数据库的名字.user;

-- mysql8.0以上密码策略限制必须要大小写加数字特殊符号,否则会报错
alter user ’root’@’%’ IDENTIFIED BY ‘新密码’;
-- 查询权限
show grants for [email protected]'%';
-- 刷新权限
flush privileges

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER,
SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, 
SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'admin'@'%';

show grants for [email protected]'%';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

show grants for [email protected]'%';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 则只需要将 salve 设定" read_only=1 "模式,即可保证主从同步,又可以实现从库只读。

-- 当然设定了 read_only=1 后,所有的 select 查询操作都是可以正常进行的。

show grants for [email protected]'localhost';

GRANT INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO [email protected];

-- 动态权限就是对 SUPER 权限的细分。
-- SUPER 权限在未来将会被废弃掉。
-- 现在只想这个用户有 SUPER 的子集,设置变量的权限。
-- 单独赋予用户 两个能设置系统变量的 动态权限,完了把 SUPER 拿掉。 

grant session_variables_admin,system_variables_admin on *.* to [email protected]'localhost';

revoke super on *.* from [email protected]'localhost'; 

show warnings; 

-- 我们看到这个 WARNINGS 提示 SUPER 已经废弃了。 

-- 原文链接:
-- https://blog.csdn.net/weixin_29576901/article/details/113123016

 

这篇关于MySQL 用户 按需分配 mysql 权限的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!