设置MySQL允许外部访问

这篇具有很好参考价值的文章主要介绍了设置MySQL允许外部访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Navicat工具中,设置MySQL允许外部访问。

一、在navicat上使用本地连接,先连接上。

二、修改user表访问权限。

select * from user; # 查询mysql库中的user表是否有user为root的,host为%的数据。
# 如果没有,则进行创建。
create user 'root'@'%' identified by '密码' ; # 密码使用自己设置的数据库密码

# 创建好后,或者有的话,则再执行授权语句
grant all privileges on *.* to 'root'@'%' with grant option;

# 
flush privileges;

然后外部就可以通过账户密码访问了。
说明:
1、※ grant语法: grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to ‘要授权的用户名’@’%’(%表示所有的IP,可以只设一个IP) identified by “密码”;

2、其它说明:

FLUSH PRIVILEGES; 命令本质上的作用是:

将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。

通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。

而不必冒太大风险。

三、可能存在的其它问题:
执行完之后,再用Navicat连接mysql,报错如下:

Client does not support authentication protocol requested by server;

报错原因:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;

Navicat 12以下客户端支持的是mysql_native_password 这种加密方式;

解决方案:

1,用如下语句查看MySQL当前加密方式

select host,user,plugin from user;

查询结果

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session    | mysql_native_password |
| localhost | mysql.sys        | mysql_native_password |
+-----------+------------------+-----------------------+

看host为’%'的那一行,root加密方式为caching_sha2_password。

2,使用命令将他修改成mysql_native_password加密模式:

update user set plugin='mysql_native_password' where user='root';

再次连接的时候,就成功了。

四、如果还连接不上
通过以上操作后,依然无法连接上,问题可能出在了防火墙上。

1,MySQL部署在实体服务器上解决方案如下:
a.开放MySQL的端口号,默认端口号是3306。b.直接关闭防火墙(慎重操作,不建议。当然测试玩的话就随意了。。。。)

2,MySQL部署在云计算机上的方案如下:a.以阿里云为例,找到实例,设置安全组,开放端口号即可。文章来源地址https://www.toymoban.com/news/detail-783193.html

到了这里,关于设置MySQL允许外部访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 外部navicat无法连接mysql数据库的问题原因及解决方案

    问题起因是这样:在linux操作中的docker中部署了一个数据库,数据库启动之后,端口也映射了(创建容器时用 -p 30036:3306进行的映射),但是在外不想使用navicat连接时,怎么都连不上,本人遇到的问题如下 一、端口虽然映射了,但是服务器上的30036端口并未对外开放,因此要先开

    2024年02月07日
    浏览(41)
  • Node.js程序如何访问MySQL数据库呢?Sequelize操作MySQL数据库详解

    当我们安装好MySQL后,Node.js程序如何访问MySQL数据库呢? 访问MySQL数据库只有一种方法,就是通过网络发送SQL命令,然后,MySQL服务器执行后返回结果。 我们可以在命令行窗口输入mysql -u root -p,然后输入root口令后,就连接到了MySQL服务器。因为没有指定–host参数,所以我们连

    2023年04月08日
    浏览(33)
  • 如何通过IP访问MySQL数据库

    1.1 改表法 如果不从远程登陆,可以用 localhost 。这个时候只要在 localhost 的那台电脑,登入 mysql 后,更改 \\\"mysql\\\" 数据库中 \\\"user\\\" 表里的 \\\"host\\\" 字段,把 \\\"localhost\\\" 改称 \\\"%\\\" ,即可。 1.2 授权法 例如,你想用户 myuser 使用密码 mypassword 通过 IP 地址连接到 MySQL 服务器,使用: 如果你

    2024年02月06日
    浏览(32)
  • linux高级管理——访问MYSQL数据库

    一、认识数据库系统:  MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1.登录到MySQL服务器 经过安装后的初始化过程,MySQL 数据库的默

    2024年02月04日
    浏览(32)
  • rabbitmq设置允许外部访问

            rabbitmq默认端口为15672,用户名和密码都为guest,是不允许外部访问的.          允许外部访问设置需要操作两步:         第一步:添加其它用户,guest只能用于本机          第二步:Virtual Host允许添加的用户访问,点击下图红色部分.          spring配置

    2024年02月11日
    浏览(36)
  • Linux访问MySQL数据库(包含实验案例)

            经过安装后的初始化过程,MySQL数据库的 默认管理员用户名为\\\"root\\\",密码为空 。         有密码的情况下,使用\\\"-p\\\"选项来进行密码校验。          验证成功以后将会进入提示符为\\\"MySQL\\\"的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每条 M

    2024年04月26日
    浏览(34)
  • beego通过gorm访问mysql数据库

    一、下载golang的版本如下:  二、解压下载包到C盘 三、配置golang的系统环境变量  四、进入新建的工作目录C:project下载并安装beego 五、将新生成的bee.exe所在的路径“c:projectbin”加入到系统变量path里面 六、下载安装数据库mysql 例如在上图中, 选“No thanks,just start my downlo

    2024年02月13日
    浏览(32)
  • C/C++ 连接访问 MySQL数据库

        前面我们已经讲述了MySQL的基础使用,现在我们来看一下如何使用语言来操作数据库。在实际开发中,语言连接MySQL是为了能够在编程语言中与MySQL数据库进行交互和操作。大部分情况我们都是通过语言连接MySQL,建立与MySQL数据库的连接,可以向MySQL数据库发送更新请求,

    2024年02月03日
    浏览(31)
  • 如何在Linux用Docker部署MySQL数据库并远程访问本地数据库

    本文主要介绍如何使用Docker部署MySQL,并结合cpolar内网穿透工具实现远程访问本地数据库。 Docker提供了一个轻量级的容器化解决方案,可以更好的简化数据库的部署过程。让创建和管理MySQL数据库变得更简单快捷。下面就来分享一下具体的部署过程,并提出一些需要注意的事

    2024年03月10日
    浏览(29)
  • Mysql查看数据库时区并设置时区

    当我们使用docker部署Mysql数据库后,我们的数据库时区会有偏差,下面我们看看如何解决: 1.查看数据库时区 2.设置时区 修改配置文件my.cnf(my.ini),增加 参考如下:

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包