1.开放云服务器的3306端口
(1)进入到云服务器的控制台
(2)点击使用的云服务器
(3)点击 配置安全组规则
(4)添加规则
(5)开放端口
2.创建可以远程访问的用户
2.1 创建可以远程访问的用户
(1)确保MySQL服务运行:systemctl status mysql
(2)登录MySQL客户端:mysql -root
(3)创建用户,赋予用户权限,刷新
#创建用户--该用户可以在远程访问
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
#赋予用户权限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
#刷新,用户权限生效
FLUSH PRIVILEGES;
2.2 把root用户改为可以远程访问
(1)查看root用户是否可以被远程访问
select user, host from mysql.user where user='root';
localhost
:表示只能被本地机器访问,不能被远程访问
(2)把root用户改为可以远程访问
UPDATE mysql.user SET host='%' WHERE user='root'
(3)刷新(权限生效)
FLUSH PRIVILEGES;
3.设置MySQL配置文件
MySQL有两个主要的配置文件:
# 查看核心配置(如绑定地址、端口)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 查看客户端配置(如字符集)
sudo vim /etc/mysql/conf.d/mysql.cnf
注意:我们配置的是下面的(msyql服务端的配置文件,我们远程访问的是mysqld–MySQL的服务端):
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
进入文件后找到bind-address
并修改
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文件
# 数据库连接配置
#如果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文件
# 数据库连接配置
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