IDEA使用jdbc连接服务器上的MySQL

服务器上mysql创建用户设置为任何地方都可以访问

使用root登录mysql

[root@localhost ~]#mysql -u root -p

然后输入密码。

创建账户

mysql>create user 'user1'@'%' identified by 'password';
//单引号中user1是所想创建的用户名,%代表任何地方可以访问,仅本地访问可以设置为localhost

授权

//这里我创建的账户是user1,javatest是已经用root账户做好的一个测试数据库
//语法是select 权限 on 数据库名.表名 不指定用*代替如下
//这句是将数据库javatest下所有表的查询权限授权给user1
mysql>grant select on javatest.* to 'user1'@'%';
//刷新权限
mysql>flush privileges;

开放端口

默认端口是3306,在服务器中需要开放端口以便于能够访问

firewall-cmd --zone=public --add-port=3306/tcp --permanent
//服务器开放端口关闭端口不做过多介绍

关于创建用户因为我选择的mysql是mysql8.0之前也参照了很多方法添加用户均以失败告终比如在mysql.user下添加一条用户好像是password的地方总是出问题,这几条语句也是依稀记得的一点可能会有一点点问题,那就自行解决吧。

IDEA添加jar文件

添加jar

该文件可以到mysql官网去下载。

打开idea创建一个文件夹随意命名这里我命名为libs将下载好的jar文件放入这个文件夹下,当然也可以在选择jar文件时找到自己的jar文件存放文职并不一定需要创建这个文件夹
将jar文件粘贴到libs文件夹中(可以忽略但是要记住jar文件在哪,版本是否对应)
在这里插入图片描述

文件->项目结构->库->第二列加号->java
在这里插入图片描述

在这里插入图片描述
选择jar文件
在这里插入图片描述

编写一个java程序测试能否连接到数据库(图片是为了方便写这篇文章与代码无关)
在这里插入图片描述

编写代码

import java.sql.*;

public class Test {
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://ip:端口号/数据库名";
    //分别对应数据库所在服务器的ip之后要有冒号然后是端口号/数据库名
    static final String USER = "user1";//刚刚设置的账户
    static final String PASS = "123456";//刚刚设置的密码

    public void select() throws ClassNotFoundException, SQLException {
        Connection conn = null;
        Statement stmt = null;
        Class.forName(JDBC_DRIVER);
        conn = DriverManager.getConnection(DB_URL,USER,PASS);

        // 执行查询
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT * FROM users";
        ResultSet rs = stmt.executeQuery(sql);

        // 展开结果集数据库
        while(rs.next()){
            String ID = rs.getString("ID");
            String Name = rs.getString("Name");

            // 输出数据
            System.out.println("ID: " +ID);
            System.out.println("ID: " +Name);
        }
        rs.close();
        stmt.close();
        conn.close();
    }

    public static void main(String[] args) {
        Test test=new Test();
        try {
            test.select();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

到这里就完成了一个简单的过程,当然创建数据库用户也可以将root设置为任何地方均可以访问就是%这个符号,之所以创建user1这个用户是为了让user1仅具有某一个数据库如javatest下表的一部分权利(只是一点点个人猜测)。
第一次写可能会有很多错误多多见谅。


版权声明:本文为qq_57391673原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。