Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mysql:MySQL数据库修改用户权限(远程访问权限、操作权限)

mysql:MySQL数据库修改用户权限(远程访问权限、操作权限)

作者头像
鲲志说
发布于 2025-04-07 04:02:12
发布于 2025-04-07 04:02:12
3130
举报

有时候我们需要远程操作数据库,但是MySQL-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问。

所以,我们必须先

修改root可以远程访问的权限

1.通过cmd连接进入数据库

命令输入:mysql -u root -p 输入密码登录数据库

命令输入:use mysql;

2.通过查询用户表,查看已有用户访问权限 命令:select User,authentication_string,Host from user;

这里我们看出host默认都是localhost访问权限

3.重点:修改用户远程访问权限

(1)修改为允许所有root用户远程访问

命令输入:GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ ;

这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址(将’%‘改为’你的主机IP’)

(2)刷新数据库 命令输入:flush privileges;

这句表示从mysql数据库的grant表中重新加载权限数据 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user

我们可以发现多了一个root用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功!

查询mysql中所有用户权限

输入命令: select host,user from user;

关闭root用户远程访问权限

输入命令:delete from user where user=“root” and host="%" ;

禁止root用户在远程机器上访问mysql

输入命令:flush privileges;

修改权限之后,刷新MySQL相关表生效,发现root没有了远程访问的权限

现在通过远程连接发现无法访问

修改远程操作权限(部分权限)

设置root用户操作权限

>> grant all privileges on . to root@localhost identified by “123456” WITH GRANT OPTION ; //设置用户root,拥有所有的操作权限,也就是管理员 ;

>> grant select on . to root@localhost identified by “123456” WITH GRANT OPTION ; //设置用户root,只拥有【查询】操作权限 ;

>> grant select,insert on . to root@localhost identified by “123456” ;  //设置用户root,只拥有【查询\插入】操作权限 ;

>> grant select,insert,update,delete on . to root@localhost identified by “123456” ;  //设置用户root,只拥有【查询\插入\更新\删除】操作权限 ;

>> REVOKE select,insert ON what FROM root  //取消用户root的【查询\插入】操作权限 ;

总结目前到这里。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL数据库远程访问权限如何打开?
我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。
老九君
2022/02/18
14.3K0
MySQL数据库远程访问权限如何打开?
MySQL8.0设置远程访问权限方法学习
安装了mysql 8.0.11 之后本地可以登录,但是远程第三方工具无法连接,防火墙已经放通的,
用户1289394
2018/12/29
4.7K0
Mysql关于用户的操作
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码";
悟空宇
2024/03/11
1020
Mysql关于用户的操作
MySQL8.0本地访问设置为远程访问权限
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
拓荒者
2019/03/14
4.2K0
MySQL用户管理、用户授权与权限及设置远程访问
insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
菲宇
2022/12/02
4.7K0
MySQL数据库常用指令
注:两段代码分别实现了创建数据库账户。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。
小新笔记坊
2024/03/12
3000
开启mysql的远程访问权限
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
kirin
2021/03/02
3.9K0
MySQL8.0设置远程访问权限
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
拓荒者
2019/03/14
3.8K0
linux下mysql配置用户远程访问和开启binlog
9,通过GRANT命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:
Kiba518
2024/02/29
5510
MySQL权限管理 原
·  管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟 *.*
拓荒者
2019/03/11
2.1K0
访问权限控制系统|全方位认识 mysql 系统库
在上一期《权限系统表|全方位认识 mysql 系统库》中,我们针对mysql 系统库中的权限表做了一个简单的认识,本期我们将在上一期的基础上详细介绍MySQL 的访问权限控制系统,下面请跟随我们一起开始 mysql 系统库的系统学习之旅吧。
老叶茶馆
2020/12/15
2.4K0
MySQL8.0设置远程访问权限
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并进行讲解如何解决。
程序员飞飞
2020/02/29
23.5K0
第十一章《mysql用户与权限》
mysql关于用户的信息保存在mysql.user表当中,关于用户的权限主要是存储在mysql库中(user、db、host、tables_priv、columns_priv)这5个表中。
Java架构师必看
2021/06/02
8080
第十一章《mysql用户与权限》
远程访问内网群晖mysql数据库的方法
长久以来,一直想实现远程访问内网群晖的mysql数据库,这样数据库文件就可以保存在本地了,增加了网站的安全性。
风吹屁屁凉
2021/07/14
5.9K0
mysql---用户和权限管理复习
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%,主要有以下几种写法
大忽悠爱学习
2021/11/15
1.7K0
【MySql】用户管理——用户管理|权限管理
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。 比如张三只能操作mytest这个数据库,李四只能操作msg这个数据库,而root可以操作所有的库,如果给他们root账户,风险太大了,数据库都能操作,所以我们需要对用户进行管理。
平凡的人1
2023/10/15
4080
【MySql】用户管理——用户管理|权限管理
MySQL DCL 数据控制
连接到 MySQL 服务器后,管理员或特权用户可以使用 CREATE USER 语句创建新用户。
恋喵大鲤鱼
2023/10/12
2440
MySQL数据库不能远程访问的解决办法
MySQL的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"即可。
流柯
2018/08/30
7.2K0
打开MySQL数据库远程访问权限
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
孤鸿
2022/09/23
10.9K0
MySQL远程访问权限的设置
今儿有位同事提出,一套MySQL 5.6的环境,从数据库服务器本地登录,一切正常,可是若从远程服务器访问,就会报错,
bisal
2019/01/29
4.6K0
相关推荐
MySQL数据库远程访问权限如何打开?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档