问题:使用Cloud Studio试着运行一个Springboot项目,在连接数据库的时候出现了一些问题,连接失败。报错信息如下所示:

Caused by: java.net.ConnectException: 拒绝连接 (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
        ... 12 common frames omitted

安装了一些插件之后,再次尝试项目的运行,但是还是报了一样的错误。百度上难找到CloudStudio相关的信息。但是有一篇关于nodejs的连接数据库出错问题启发了我。首先我怀疑是mysql的服务没有启动,当我尝试启动MySQL时,提示并没有mysql。
这个Cloud Studio在运行的过程中可以使用终端等,这不就是一个linux服务器吗?提前选择的环境就是系统自动帮我们预先装好了一些环境,那么如果插件帮我们安装了的mysql不好用,我们可以自己去Linux系统中安装一个mysql。
于是我就自己安装了一个mysql

1. 查看系统信息
cat /etc/issue

在这里插入图片描述
由此可知,系统是Ubuntu18.04的LTS版本,所以需要使用apt安装软件。

2. 升级apt源并安装mysql
apt-get update
apt-get install mysql-server
3. 启动mysql服务
service mysql start

然后再次尝试连接数据库,此时还没有成功,但是报错信息已经很明显了:

Client does not support authentication protocol requested by server; conside ...
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)  
4. 设置root用户的密码
# 在终端先进入mysql,然后执行以下命令
命令如下:
 
use mysql;
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘数据库密码’;
flush privileges;
5. 连接MySQL

再次连接,成功。
在这里插入图片描述

6. 关于.sql文件在这里的导入

没有找到好的办法,直接打开sql文件,将里面的语句粘贴到mysql命令行中即可(测试用的sql文件较小,偷懒没有去找别的方法,肯定有更好地方法)

Logo

更多推荐