MySQL 用户 权限管理 按需分配 mysql 权限
SQL:
-- 其他远程连接的应用用户 按需分配 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密码策略状态 select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%'; -- MySQL登录后使用这个命令查看密码策略 show variables like 'validate_password%'; -- 可以使用以下命令进行修改 set global validate_password_policy=LOW; set global validate_password_mixed_case_count=0; set global validate_password_number_count=0; set global validate_password_special_char_count=0; set global validate_password_length=4; -- 修改密码 alter user 'root'@'localhost' identified by '满足策略的密码'; -- 按 mysql_native_password 加密方式修改密码 alter user 'root'@'localhost' identified with mysql_native_password by '满足策略的密码'; -- 密码验证策略低要求( 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; show variables like 'validate%'; -- 查询用户 select Host,User,Grant_priv,Super_priv,password_last_changed,account_locked from user; select Host,user from mysql.user; -- mysql 8.0 以上密码策略限制必须要大小写加数字特殊符号,否则会报错 alter user ’root’@’%’ identified by ‘新密码’; -- 查询权限 show grants for root@'%'; -- 刷新权限 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 canal@'%'; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%'; show grants for root@'%'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; -- 则只需要将 salve 设定" read_only=1 "模式,即可保证主从同步,又可以实现从库只读。 -- 当然设定了 read_only=1 后,所有的 select 查询操作都是可以正常进行的。 show grants for ytt2@'localhost'; GRANT INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO ytt2@localhost; -- 动态权限就是对 SUPER 权限的细分。 -- SUPER 权限在未来将会被废弃掉。 -- 现在只想这个用户有 SUPER 的子集,设置变量的权限。 -- 单独赋予用户 两个能设置系统变量的 动态权限,完了把 SUPER 拿掉。 grant session_variables_admin,system_variables_admin on *.* to ytt2@'localhost'; revoke super on *.* from ytt2@'localhost'; show warnings; -- 我们看到这个 WARNINGS 提示 SUPER 已经废弃了。 -- 原文链接: -- https://blog.csdn.net/weixin_29576901/article/details/113123016
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构