Java远程连接数据库——远程连接MySQL数据库,操作和管理MySQL数据库

目录

Java与MySQL

1.MySQL远程连接情况

1.1.查看权限情况

 1.2.Java连接情况

2.MySQL远程连接设置

 2.1.IP地址开放设置

2.2.开放3306端口

3.总结


Java与MySQL

上一篇笔记已经写好了MySQL的安装使用与Java连接MySQL的操作,但那仅仅是本地连接,我们都知道我们一般都是通过远程来管理数据库中的数据和远程提供数据给客户看,要实现远程连接数据库呢就有以下几个步骤:

1.MySQL远程连接情况

1.1.查看权限情况

  • 首先要看一下MySQL用户对外的开放权限,执行命令select  user,host  from  mysql.user,如下图:

  •  查看端口的开放情况,MySQL默认端口是3306,因此要查看3306端口的开放情况,输入的命令为netstat -a可查看,如下图:

  • IP地址:我个人理解是设备在网络中的地址
  • 端口:我个人理解是应用程序运行时所在设备中的位置
  • 结论:我们要管理某设备上的数据库,那么就要有正确的IP地址和端口,当然还要输入MySQL用户的账号密码
  • 综上所述,MySQL初始默认是不对外开放的,因此外部设备连接不到

 1.2.Java连接情况

  • 本地连接,如下图,设置url中的IP地址为127.0.0.1本地连接,连接成功:

  • 本地连接自己可尝试,代码如下:
    package com.example;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class App {
        public static void main(String[] args){
            String url="jdbc:mysql://127.0.0.1:3306/student";
            String user="root";
            String password="1234";
            try{
            Connection con=DriverManager.getConnection(url, user, password);
            String sql="create table if not exists tbb(id int,name varchar(10),sex varchar(2));"; // 在数据库中创建tbb表
            Statement state=con.createStatement();
            int i=state.executeUpdate(sql); //创建完成后的返回值是整形
            System.out.println(i);
            System.out.println("连接成功!");
            }catch(Exception e){
                System.out.println("连接失败!");
            }
        }
    }
    
    
  • 远程连接,需要先查看本机的IP地址,在终端输入ipconfig命令就可以查看,mac系统和Linux系统使用ifconfig命令查看

  •  将代码的url中的127.0.0.1改为本机IP地址192.168.xxx.xxx即可,很显然连接失败:

2.MySQL远程连接设置

 2.1.IP地址开放设置

  • 这里有两个办法,一个是将root用户的localhost改为指定的IP用户连接或%%表示所有IP用户皆可连接,当然更改root用户的做法不怎么好,因此用第二种办法就是创建一个新MySQL用户,并且设置host权限为%,然后再设置该用户管理数据库的权限
  • 终端进入MySQL,输入create user '新用户名'@'%' identified by '该用户密码';命令,然后查看是否创建成功,如下图:

  •  接下来,让我们为新建用户授权,不授权的话,新建用户无法操作数据库,这里我为了方便将给新建用户管理员权限,这个是最大权限,输入命令如下:当然这是mysql-8之后的命令GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;
  •  当然,有些小伙伴到这端口可能就自动打开,就可以用Java远程连接MySQL了,有些小伙伴还是不行,问题就是还差端口没有开放,接下来就是开放3306端口:

2.2.开放3306端口

  • 在计算机左下角搜索框输入高级两个字,就可以看到高级安全,鼠标点击打开:

  • 接着看下图:

  •  最后一直下一步,直到有输入名称的窗口,随便填一个名称就行
  • 完成以上步骤那么就可以愉快的用其他计算机远程操作MySQL数据库啦!

  •  如上图,我成功了,你们呢?

3.总结

这里我的过程基本上都是用终端操作的,其实用图形化软件比如Navicat、SQLyog等软件来操作MySQL要简单很多

  • 运用终端命令查看MySQL的IP开放权限
  • 查看端口情况
  • 运用Java代码运行本地连接和远程连接的情况
  • 新建MySQL用户,并设置开放权限和管理权限
  • 开放端口,到高级防火墙新建规则
  • 测试,用其他电脑远程连接

 

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在MySQL进行远程连接数据库,需要进行以下步骤: 1. 在MySQL服务器上,确保MySQL配置文件(通常是my.cnf或my.ini)的bind-address设置为服务器的IP地址,而不是默认的本地回环地址(127.0.0.1)。 2. 在MySQL服务器上,创建一个允许远程访问的数据库用户。可以使用以下命令创建用户并授予相应的权限: ``` CREATE USER '用户名'@'远程主机IP' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'远程主机IP'; FLUSH PRIVILEGES; ``` 请将 '用户名' 替换为您希望创建的用户名,'远程主机IP' 替换为允许访问的远程主机IP地址,'密码' 替换为您希望设置的密码,'数据库名' 替换为您要访问的数据库名称。 3. 在防火墙上打开MySQL的端口(默认为3306),以允许远程主机连接到MySQL服务器。具体方法取决于您使用的操作系统和防火墙软件。 4. 在远程主机上,使用MySQL客户端工具(如MySQL命令行或Navicat等)连接到MySQL服务器。使用以下命令进行连接: ``` mysql -h <MySQL服务器IP> -u <用户名> -p ``` 请将 <MySQL服务器IP> 替换为MySQL服务器的IP地址,<用户名> 替换为之前创建的数据库用户的用户名。然后会提示您输入密码,输入之前设置的密码即可。 这样,您就可以通过远程连接访问MySQL数据库了。请注意,为了安全起见,请确保设置强密码,并仅允许受信任的远程主机访问您的数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓小邰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值