Mysql外网访问
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘password‘;flush privileges;执行后就可以了。常用的外网工具。
2024.11.22我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。
缺省状态下,mysql的默认用户没有远程访问的权限。
下面给大家介绍两种方法,解决这一问题。
1.1 方案1:改表法由于账号默认没有远程访问权限,所以首先登录本地电脑的MySQL,更改mysql数据库里中user表里的host项。
非生产环境中,使用以上方式可以迅速解决问题。
但如果是实际的生产环境,肯定还是需要重新创建一个用户,然后根据需要分配访问ip和权限(授权法)。
1.2 方案2:授权法1.1.1 权限表下面我们先来了解一下user表。
user表是MySQL中最重要的一个权限表,表中的列很多,我们可以通过下面的命令查看表的基本结构:
我们重点关注user和host这两个字段。用户登录时,首先要判断的就是这两个字段和登录密码的值,这3个字段的值同时匹配,MySQL数据库系统才允许用户登录。
大家可以看到,默认情况下,MySQL的几个默认用户只允许localhost(本地)的连接,从远程连接肯定会被拒绝。
1.1.2 添加新用户并授权根据需要创建相应的用户及访问权限即可
1.3 关于MySQL用户帐号管理的相关知识点MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理。这两个指令实质是通过操作user(连接权限和全局权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_priv(数据列级权限)四个权限表来分配权限的。host权限表不受这两个指令影响。下面将会详细介绍用户权限管理的内容。
1.3.1 grant语法示例:
1、‘%’代表任意字符,‘_’代表一个任意字符;主机名部份还可以是IP地址
2、如果没有给定主机部份,则默认为任意主机,也就是‘test‘和‘test‘@‘%‘是等价的
1.3.2 访问权限列表及权限的作用范围表1:访问权限及说明
表2:权限作用范围(由on子句设置)
1.3.3 修改与权限无关的帐户项1.3.4 把自已所拥用的权限转授给其他用户前提:当前用户需要拥有WITH grant OPTION权限
1.3.5 限制资源使用说明:默认都是零值,即没有限制。FLUSH USER_RESOURCES和FLUSH PRIVILEGES可对资源限制计数器清零。
1.3.6 使用revoke撤销权限基本语法:
mysql > revoke privileges (columns) ON what FROM account;示例:删除账号test从本机查询数据库db的权限
mysql > revoke select ON db.* FROM ‘test‘@‘localhost‘;revoke可删除权限,但不能删除帐号,即使帐号已没有任何权限。所以user数据表里还会有该帐号的记录,要彻底删除帐号,需用delete命令删除user数据表的记录,如:
revoke不能删除REQUIRE和资源占用的配置。他们是要用grant来删除的,如:
以上所述是大雄给大家介绍的MySQL数据库远程访问的权限如何打开的方法,希望对大家有所帮助,更多干货持续关注老九学堂微信公众号!
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘password‘;flush privileges;执行后就可以了。常用的外网工具。
2024.11.22在Oracle中,有3种办法可以限定特定IP访问数据库。第一种是利用登录触发器,如下:CREATE OR replace TRIGGER CHK_IP_LHRAFTER LOGON ON DATABA...
2024.11.20配置MySQL服务器绑定的IP地址默认情况下,MySQL服务器只监听本地连接(127.0.0.1)。如果需要允许远程连接,则需要在MySQL服务器配置文件中增加绑定IP参数。在Linux系统上,这个文...
2024.11.201.添加账户:# 创建一个密码为123456的testuser账户# 若不写【identified by ‘123456‘】则创建一个密码为空的testuser账户mysql> create user...
2024.11.19软件生态系统对于分布式系统的概念并不陌生,您无需亲自到场即可与远程托管软件进行交互。因此,您的MySQL无需驻留在本地机器上即可充分受益于其功能特性,您现在可以让 MySQL 在远程专用服务器上运行,...
2024.11.20