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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云防火墙,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


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
176 0
|
2月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
|
1月前
|
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写法。
356 0
|
3月前
|
关系型数据库 MySQL
MySQL 8.0 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded 原因及解决办法
MySQL 8.0 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded 原因及解决办法
170 1
|
3月前
|
SQL 关系型数据库 MySQL
问题1:Navicat连接不上mysql8的简单解决办法
问题1:Navicat连接不上mysql8的简单解决办法
1169 2
|
5月前
|
关系型数据库 MySQL Linux
Linux系统中Mysql5.7建立远程连接
Linux系统中Mysql5.7建立远程连接
55 0
|
6月前
|
关系型数据库 MySQL 数据安全/隐私保护
安装mysql和远程连接
安装mysql和远程连接
77 0
|
6月前
|
关系型数据库 MySQL Linux
【Linux】安装Mysql(附加service mysql启动失败 提示unit not found 解决办法)
【Linux】安装Mysql(附加service mysql启动失败 提示unit not found 解决办法)
456 0
|
6月前
|
关系型数据库 MySQL 索引
mysql索引失效的原因以及解决办法
该内容列举了索引失效的五个原因,包括:条件表达式中的函数使用、不等于操作符、列类型不匹配、LIKE操作的模糊匹配和数据量过小。并提供了对应的解决办法:避免函数操作索引列、使用合适条件、保证类型匹配、选择合适索引、优化表结构和使用索引提示。
586 1
|
6月前
|
SQL 关系型数据库 MySQL
【错误】mysql 出现 “1067 - Invalid default value for ‘UPDATE_TIME‘ “ 错误提示的解决办法
【错误】mysql 出现 “1067 - Invalid default value for ‘UPDATE_TIME‘ “ 错误提示的解决办法
195 1