MySQL 创建用户,修改用户,授权,删除用户等操作命令

MySQL 创建用户,修改用户,授权,删除用户等操作命令

MySQL 数据库创建用户并授权

sql 复制代码
# 创建 gogs 用户并初始化密码
create user 'gogs'@'127.0.0.1' IDENTIFIED WITH mysql_native_password by 'IjaGo@GsNl2';
# 授权
grant SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX, CREATE VIEW, SHOW VIEW, CREATE TEMPORARY TABLES on gogs.* to 'gogs'@'127.0.0.1';

flush privileges;

创建用户

sql 复制代码
mysql> create user 'test2'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

# 创建用户,ip填'%'表示允许所有ip
create user 'username'@'ip' IDENTIFIED by 'password';

# 允许远程客户端通过密码访问
alter user 'username'@'ip' IDENTIFIED WITH mysql_native_password by 'password';
 
# 直接创建能够通过远程客户端访问的账户
create user 'username'@'ip' IDENTIFIED WITH mysql_native_password by 'password';

查看权限

sql 复制代码
mysql> show grants for 'test2'@'%';
+-----------------------------------+
| Grants for test2@%                |
+-----------------------------------+
| GRANT USAGE ON *.* TO `test2`@`%` |
+-----------------------------------+
1 row in set (0.04 sec)

撤权用户

sql 复制代码
revoke select on *.* from 'test2'@'%';

# 撤销所有授权
revoke all on *.* from 'username'@'ip';

# 刷新权限
flush privileges;

修改密码

sql 复制代码
set password for 'username'@'ip'='new_password';

修改用户

sql 复制代码
rename user 'username'@'ip' to 'new_username'@'new_ip';

删除用户

sql 复制代码
drop user 'username'@'ip';

drop user 'test2'@'localhost';

MySQL提供的特权

  • ALL[PRIVILEGES] 所有特权
  • ALTER 允许使用ALTER TABLE语句更改表的结构
  • CREATE 允许使用创建新库和表
  • CREATE USER 允许使用创,删,改用户的语句
  • DELETE 允许删除表中记录
  • DROP 允许删除库,表,视图
  • EVENT 允许使用事务,并且可以在事务中增删改查
  • GRANT OPTION 允许授予自己拥有的特权或从其他用户撤消特权
  • INDEX 允许使用创建或删除索引的语句
  • INSERT 允许在表中插入数据
  • RELOAD 允许使用FLUSH语句,flush-logs等
  • REPLICATION CLIENT 允许使用的SHOW MASTER STATUS,SHOW - SLAVE STATUS和SHOW BINARY LOGS语句。将此特权授予从属服务器用于将其作为主服务器连接到当前服务器的帐户
  • REPLICATION SLAVE 启用该帐户已作出对数据库的主服务器上,使用请求更新 SHOW SLAVE HOSTS, SHOW RELAYLOG EVENTS 和 SHOW BINLOG EVENTS 语句
  • LOCK TABLES 允许使用显式LOCK TABLES语句来锁定您具有SELECT特权的表。这包括使用写锁,这可以防止其他会话读取锁定的表
  • SELECT 允许使用查询语句
  • TRIGGER 启用触发器功能,具有此的特权才能为该表创建,删除,执行或显示触发器
  • UPDATE 允许修改表中记录
  • USAGE 无特权
相关推荐
GDAL30 分钟前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT1 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
程序员岳焱3 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
喜欢敲代码的程序员3 小时前
SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分离版:项目搭建(一)
spring boot·mysql·elementui·vue·mybatis
AI、少年郎4 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄4 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
钢铁男儿4 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
叁沐4 小时前
MySQL 02 日志系统:一条SQL更新语句是如何执行的?
mysql
DataGear4 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_438335404 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式