欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

程序员文章站 2022-03-06 10:01:14
...

这几天重新安装了系统,运行以前的项目就报出这样的问题,于是自己写测试方法看看能不能连接上数据库:

@SpringBootTest
class SpringbootCacheApplicationTests {

    @Autowired
    private DataSource dataSource;

    @Test
    void contextLoads() {
        System.out.println(dataSource.getClass().getName());

        try {
            Connection connection = dataSource.getConnection();
            System.out.println(connection);
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

结果还是这个问题,在网上找了一些方法,什么修改映射,修改配置文件等等…可是我之前动都没动过这些突然错误,应该不是这些问题,于是最后发现只是mysql服务没有开

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
打开后顺便把那个框框钩上,以后开机自启。

这个时候还不行,下面还有一行Warning: The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql'user

这种原因猜测是这个文件夹权限被改变了,只需在终端运行

sudo chown -R  _mysql:wheel  /usr/local/mysql/data

wheel是用户组的名字

至此,问题解决,mysql服务启动,而且程序也可以继续访问数据库.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure