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

相关推荐
向上的车轮23 分钟前
无需云服务的家庭相册:OpenHarmony 上的 Rust 实践
开发语言·后端·rust
程序猿小蒜3 小时前
基于springboot的车辆管理系统设计与实现
java·数据库·spring boot·后端·spring·oracle
90后的晨仔3 小时前
Java后端开发:从零构建企业级应用的完整架构与技术栈详解
后端
zl9798993 小时前
SpringBoot-Web开发之Web原生组件注入
java·spring boot·spring
2401_858286113 小时前
OS36.【Linux】简单理解EXT2文件系统(2)
linux·运维·服务器·数据结构·文件系统·ext2
Zach_yuan3 小时前
程序地址空间
android·linux·运维·服务器
hskxkj3 小时前
MySQL第三次作业
数据库·mysql
梁萌3 小时前
Linux安装BiliNote
linux·运维·服务器·docker·bilinote
Roc-xb4 小时前
解决虚拟机安装的Ubuntu20.04.6 LTS 不能复制粘贴问题
服务器·ubuntu·vmvare
I'm Jie4 小时前
(五)Gradle 依赖传递与冲突处理
java·spring boot·spring·kotlin·gradle·maven