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

相关推荐
码事漫谈28 分钟前
我啥都能做,却不知道做什么了
后端
geovindu36 分钟前
CSharp: 万年历
开发语言·后端·c#·.net
weixin_4166679643 分钟前
【无标题】
运维·服务器·网络
2601_962177132 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql
云贝教育-郑老师2 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
独泪了无痕2 小时前
SpringBoot Event事件机制,轻松实现业务解耦
spring boot·后端·spring
小鹿的周先生3 小时前
Spring-AI-第2篇-ChatClient 实战:使用 DeepSeek 完成第一次 AI 对话
java·人工智能·spring
悲且狂3 小时前
SpringBoot项目改造注意事项(旧项目框架复用)
java·spring boot·后端
上海云盾-小余3 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
敲代码的嘎仔4 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂