MySQL的权限管理与远程访问

MySQL的权限管理

1、授予权限

授权命令: grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

该权限如果发现没有该用户,则会直接新建一个用户。

java 复制代码
比如  
grant select,insert,delete,drop on atguigudb.* to li4@localhost  ;
 #给li4用户用本地命令行方式下,授予atguigudb这个库下的所有表的插删改查的权限。
java 复制代码
grant all privileges on *.* to joe@'%'  identified by '123'; 
#授予通过网络方式登录的的joe用户 ,对所有库所有表的全部权限,密码设为123。

2、收回权限

1)查看当前用户权限

java 复制代码
show grants;

2)收回权限命令:

java 复制代码
revoke  权限1,权限2,...权限n on 数据库名称.表名称  from用户名@用户地址 ; 
java 复制代码
REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost;
#收回全库全表的所有权限。
java 复制代码
REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost;
#收回mysql库下的所有表的插删改查权限。
 必须用户重新登录后才能生效。

3、查看权限

1)查看当前用户权限

java 复制代码
show grants; 

2)查看某用户的全局权限

java 复制代码
select  * from user ;

3)查看某用户的某个表的权限

java 复制代码
select * from tables_priv;

4、远程访问

(1)先 ping 一下数据库服务器的ip 地址确认网络畅通。

(2)关闭数据库服务的防火墙

java 复制代码
 service iptables stop 

(3) 确认Mysql中已经有可以通过远程登录的账户

select * from mysql.user where user='li4' and host='%';

(4)如果没有用户,先执行如下命令:

java 复制代码
 grant all privileges on *.*  to li4@'%'  identified by '123123'; 

(5)测试连接:

相关推荐
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 32
spring boot·笔记·后端
phltxy2 小时前
C语言操作符详解
java·c语言·算法
91刘仁德3 小时前
MYSQL 事务原理及使用
android·mysql·adb
wxwx_bscxy3223 小时前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警
步行cgn3 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
sunshine22 girl3 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
袋鼠云数栈4 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛139246256734 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛139246256734 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
嘿嘿-665 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web