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和账号密码:

然后点击 ApplyOK

相关推荐
Trouvaille ~1 天前
【Linux】UDP Socket编程实战(二):网络字典与回调设计
linux·运维·服务器·网络·c++·udp·操作系统
darling3311 天前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
世界尽头与你1 天前
MySQL InnoDB的 MVCC 实现机制
数据库·mysql
Kiyra1 天前
从《守望先锋》2026前瞻,看大型分布式系统的“重构”与“并发挑战”
运维·服务器·重构
计算机学姐1 天前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
Bdygsl1 天前
Linux(12)—— 文件与文件描述符
linux·运维·服务器
艾莉丝努力练剑1 天前
【Linux:文件】基础IO:文件操作的系统调用和库函数各个接口汇总及代码演示
linux·运维·服务器·c++·人工智能·centos·io
落霞的思绪1 天前
Spring AI Alibaba 集成 Redis 向量数据库实现 RAG 与记忆功能
java·spring·rag·springai
hssfscv1 天前
Javaweb学习笔记——后端实战8 springboot原理
笔记·后端·学习
咚为1 天前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust