MySQL 无法远程连接的解决办法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云防火墙,500元 1000GB
简介: 情况 1——云服务器控制台防火墙未开启 情况 2——未设置远程用户

情况 1——云服务器控制台防火墙未开启


在腾讯云实例防火墙或者阿里云的实例安全组开放 MySQL 的端口,默认是 3306

1682517613(1).png


情况 2——未设置远程用户


没有设置远程用户的情况下需要设置远程用户,将用户的 Host 设置为%即为允许所有来源的连接

先试用 ssh(你可以选择其他的任何方式) 连接到服务器,进入 mysql

$ mysql -u root -p
 # 输入你的密码
复制代码

通过宝塔安装的可以点击这里查看/修改 root 密码

1682517639(1).png

mysql>use mysql # 切换到 mysql 数据库
 mysql>select User,Host from user;
 +------+---------------+
 | User | Host          |
 +------+---------------+
 | root | 127.0.0.1     |
 | root | ::1           |
 |      | localhost     |
 | root | localhost     |
 |      | vm-0-2-centos |
 | root | vm-0-2-centos |
 +------+---------------+
 7 rows in set (0.00 sec)
复制代码

可以看到没有远程权限,只有本地的连接权限。

然后执行下面的 SQL 语句(123456 替换成你自己的密码)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 
 mysql>flush privileges;   //刷新权限
复制代码

然后再查看一下用户,已经多了 root 的远程用户。

mysql>select User,Host from user;
 +------+---------------+
 | User | Host          |
 +------+---------------+
 | root | %             |
 | root | 127.0.0.1     |
 | root | ::1           |
 |      | localhost     |
 | root | localhost     |
 |      | vm-0-2-centos |
 | root | vm-0-2-centos |
 +------+---------------+
 7 rows in set (0.00 sec)
复制代码


情况 3——系统防火墙未开启


如果前两种情况都已经处理了,那么此时需要检查一下系统防火墙的端口是否开启,最简单的办法就是通过宝塔安装系统防火墙插件(也可以通过命令行查看,根据自己的系统自行 google)

1682517662(1).png

如果防火墙的状态是【运行中】那么就需要在端口规则中添加开放端口

1682517678(1).png

如果是【已停止】那么就跟系统防火墙无关了

1682517698(1).png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8天前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
145 7
|
5月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1434 26
|
8月前
|
SQL 关系型数据库 MySQL
宝塔面板之MySQL无法远程连接
宝塔面板默认安装的MySQL,root用户无远程权限。本文详细介绍如何使root支持远程连接:确保3306端口已放行,通过SSH登录服务器并进入MySQL,修改root用户的host为'%',最后刷新权限。具体步骤包括使用SQL命令修改用户主机设置,并确保网络配置正确,从而实现root的远程访问。
1383 35
|
12月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
847 2
|
11月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
2192 0
|
关系型数据库 MySQL
MySQL 8.0 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded 原因及解决办法
MySQL 8.0 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded 原因及解决办法
364 1
|
SQL 关系型数据库 MySQL
问题1:Navicat连接不上mysql8的简单解决办法
问题1:Navicat连接不上mysql8的简单解决办法
2288 2
|
关系型数据库 MySQL Linux
Linux系统中Mysql5.7建立远程连接
Linux系统中Mysql5.7建立远程连接
145 0
|
关系型数据库 MySQL 数据安全/隐私保护
安装mysql和远程连接
安装mysql和远程连接
132 0
|
关系型数据库 MySQL Linux
【Linux】安装Mysql(附加service mysql启动失败 提示unit not found 解决办法)
【Linux】安装Mysql(附加service mysql启动失败 提示unit not found 解决办法)
1004 0

推荐镜像

更多