Idea连接远程云服务器上的MySQL,开放云服务器端口

1.开放云服务器的3306端口

(1)进入到云服务器的控制台

(2)点击使用的云服务器

(3)点击 配置安全组规则

(4)添加规则

(5)开放端口

2.创建可以远程访问的用户

2.1 创建可以远程访问的用户

(1)确保MySQL服务运行:systemctl status mysql

(2)登录MySQL客户端:mysql -root

(3)创建用户,赋予用户权限,刷新

sql 复制代码
#创建用户--该用户可以在远程访问
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';

#赋予用户权限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;

#刷新,用户权限生效
FLUSH PRIVILEGES;

2.2 把root用户改为可以远程访问

(1)查看root用户是否可以被远程访问

sql 复制代码
select user, host from mysql.user where user='root';


localhost:表示只能被本地机器访问,不能被远程访问

(2)把root用户改为可以远程访问

sql 复制代码
UPDATE mysql.user SET host='%' WHERE user='root'

(3)刷新(权限生效)

sql 复制代码
FLUSH PRIVILEGES;

3.设置MySQL配置文件

MySQL有两个主要的配置文件:

shell 复制代码
# 查看核心配置(如绑定地址、端口)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 查看客户端配置(如字符集)
sudo vim /etc/mysql/conf.d/mysql.cnf

注意:我们配置的是下面的(msyql服务端的配置文件,我们远程访问的是mysqld--MySQL的服务端):

shell 复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

进入文件后找到bind-address并修改

shell 复制代码
bind-address            = 0.0.0.0

说明:127.0.0.1表示只能本地访问的MySQL服务,0.0.0.0表示任意的远程机器都可以访问。

最后重启MySQL服务:systemctl restart mysql

4.在Idea中连接MySQL服务

4.1在配置文件中连接

(1)在application.properties文件

java 复制代码
# 数据库连接配置

#如果MySQL下载在本地电脑上用下面的方式
#spring.datasource.url= jdbc:mysql://127.0.0.1:3306/mybatis_study?characterEncoding=utf8&useSSL=false

# MySQL在远程服务器上
spring.datasource.url= jdbc:mysql://x.x.x.x:3306/mybatis_study?characterEncoding=utf8&useSSL=false

#MySQL账号
spring.datasource.username= admin

#MySQL密码
spring.datasource.password= admin


spring.datasource.driver-class-name= com.mysql.cj.jdbc.Driver

(2)在application.yml文件

java 复制代码
# 数据库连接配置
spring:
  datasource:
    # 如果MySQL下载在本地电脑上用下面的方式
    # url: jdbc:mysql://127.0.0.1:3306/mybatis_study?characterEncoding=utf8&useSSL=false

    # MySQL在远程服务器上  注:x.x.x.x是你的公共ip
    url: jdbc:mysql://x.x.x.x:3306/mybatis_study?characterEncoding=utf8&useSSL=false
    username: admin
    password: admin
    driver-class-name: com.mysql.cj.jdbc.Driver

运行程序,然后写访问数据库的程序

4.2 使用插件连接

(1)点击Idea右边的插件:

(2)填写云服务器的公共IP和账号密码:

然后点击 Apply、OK

相关推荐
for_ever_love__7 分钟前
MySQL 子查询、派生表与 CTE 优化:半连接、物化和递归实战
数据库·mysql·优化·as·子查询·with·cte
云和数据.ChenGuang10 分钟前
用 Claude Code 重构遗留系统:从评估到落地的完整指南
java·人工智能·spring boot·后端·重构·springai
此生决int22 分钟前
Linux系列(06)——进程概念(上)
linux·运维·服务器
房开民41 分钟前
通俗总结 Octree(八叉树)
java·服务器·数据库
豆角焖肉1 小时前
SpringBoot 集成腾讯 AI 人脸识别
人工智能·spring boot·后端·人脸识别·腾讯 ai·base64 图片
付威20231 小时前
如果你想拥有自己的 Agent,为什么值得从 rpi 开始
后端
木头科技1 小时前
【AI 工程化第十五篇】Spring AI 流式输出高并发性能优化实战:SSE、背压、限流、缓存与灰度发布
人工智能·spring·性能优化
可乐ea1 小时前
2000 个智能体把 Agent 重写成 Rust:编排流水线拆解
开发语言·后端·rust·多智能体协作·ai编程助手·智能体编排·rust重写
用户72757483196501 小时前
02-变量、常量和字符串:len("Hello, 世界") 为什么不是 9?
后端
SamDeepThinking1 小时前
CyclicBarrier的底层实现
java·后端·面试