树莓派上安装和使用MySQL,Java链接数据库,javac编译,linux命令行执行

树莓派配置mysql

raspberry pi(树莓派)上安装和使用MySQL,并通过Navicat远程访问配置脱坑记录
本文部分为转载文章 请尊重原创原文链接添加链接描述
1、在安装之前首先对树莓派更新源文件

$ sudo apt-get update
$ sudo apt-get upgrade
2.、安装MySQL

使用管理员权限运行apt-get获取最新的MySQL:

$ sudo apt-get install mysql-server
  安装过程中需要输入root管理员的密码,该密码之后用于访问数据库系统
3、测试MySQL
  通过以下命令运行MySQL的命令提示系统,并输入在安装过程中设置的密码:

$ sudo mysql -u root -p

而笔者就遇到一个情况,在安装过程,本来以为中间会提示输入密码,结果一口气就安装完了,完全不知道怎么登陆,密码也不知道,还好有个博主遇到了一样的问题,借鉴了他的方法解决了这个问题

以空密码登陆
$ sudo mysql -u root

能登陆当然肯定是要修改密码了
复制代码

数据库中使用

连接数据库

use mysql;

修改密码为123456

set password=PASSWORD(‘123456’)

刷新

flush privileges;

退出

exit; 或者 \q;
复制代码

4、Navicat for MySQL 远程连接(Win7)

本以为上面做的那些努力就可以访问MySQL,结果各种连接失败后才知道树莓派 MySQL 默认只监听本地ip访问,如果需要远程IP访问还需要修改系统配置文件,但查了很多论坛发现都是

修改 /etc/mysql/my.cnf
$ vi /etc/mysql/my.cnf

或者直接Logout(注销) 再使用 root 登陆再找到 /etc/mysql/my.cnf文件打开并修改
  找到 bind-address = 127.0.0.1 把 127.0.0.1 改成 0.0.0.0 就可以远程访问了。

而笔者发现这个版本的树莓派系统(2017-09-07-raspbian-stretch.img )在/etc/mysql/my.cnf 中并没有这行代码,或许是新版本的文件改版的问题(或许也可能是与笔者的缘分问题)

最终/etc/mysql目录下都找了一遍,终于发现在mariadb.conf.d目录下的 50-server.cnf 文件找到了bind-address = 127.0.0.1 并把它改成0.0.0.0

终于解决了远程访问树莓派mysql默认只监听本地ip访问的问题。

Navicat for MySQL软件配置如下:

IP:树莓派的IP地址

端口号:3306

用户名:MySQL的用户名

密码:MySQL的设置的密码

Java 连接数据库

import java.sql.*;
public class Main{
static final String MARIADBDIVER=“org.mariadb.jdbc.Driver”;//椹卞姩鍦板潃
static final String MARIADBURL=“jdbc:mariadb://localhost:3306/gaowanlu”;//鏁版嵁搴撳湴鍧€
static final String USER=“root”;//鏁版嵁搴撶敤鎴峰悕
static final String PWD=“gaowanlu”;//瀵嗙爜

public static void main(String[] args){
    Connection connection=null;//杩炴帴鍣�
    Statement statement=null;//杩炴帴鐘舵€�
    try{
        Class.forName(MARIADBDIVER);//椹卞姩娉ㄥ唽
        System.out.println("椹卞姩ok");
        connection=DriverManager.getConnection(MARIADBURL,USER,PWD);//寤虹珛鏁版嵁搴撹繛鎺�
        statement=connection.createStatement();//鍒涘缓鏁版嵁搴撹繛鎺ョ姸鎬�
        String sql;//SQL璇彞
        sql="SELECT * FROM testtable;";//SQL璇彞涔﹀啓
        ResultSet rs=statement.executeQuery(sql);//鎵цSQL骞惰繑鍥炴绱㈤泦鍚�
        
        while(rs.next()){
            int user = rs.getInt("user");
            String password = rs.getString("password");
            System.out.println("user: " + user);
            System.out.println("password: " + password);               
        }
        rs.close();//鍏抽棴妫€绱㈠埌鐨勯泦鍚�
        statement.close();//鍏抽棴杩炴帴鐘舵€�
        connection.close();//鏂紑鏁版嵁搴撹繛鎺�
    }
    catch(SQLException e){//鎹曡幏SQL鎵ц寮傚父
        e.printStackTrace();
    }
    catch(Exception e){//鎹曡幏寮傚父
        e.printStackTrace();
    }
    finally{//姝e父鎵ц缁撴潫
        try{//鍏抽棴杩炴帴鐘舵€�
            if(statement!=null) statement.close();
        }
        catch(SQLException e){//鎹曡幏SQL寮傚父
            e.printStackTrace();
        }
        try{//鏂紑鏁版嵁搴撹繛鎺�
            if(connection!=null) connection.close();
        }
        catch(SQLException e){//鎹曡幏SQL寮傚父
            e.printStackTrace();
        }
    }        
}//end-main_method

}//end-Main_class

Javac

需要下载mariadb的jar包
https://mariadb.com/downloads/#connectors

  • 关于java connector使用,
  • 在Main.java路径下建立文件夹 $mkdir classdir
  • 将jar包放进classdir文件夹下
  • 将jar包改名为mysql.jar 好记
  • 将上面的源代码根据自己情况更改
  • $javac -classpath .:classdir/mysql.jar Main.java

Java

运行

  • $java -classpath .:classdir/mysql.jar Main

一切配置完毕,畅想mariadb吧

关于怎样将数据库放到磁盘或者U盘呢

  • 使用挂载
  • mysql 默认吧一切放在/var/lib/mysql
  • 下面方法每次开机都需需要重新执行
  • $sudo cp -r /var/lib/mysql /media/pi/DIST/ (你想要用的位置)
  • 然后关闭mysql $sudo service mysql stop
  • 挂载命令
  • sudo mount -o /media/pi/DIST/mysql /var/lib/mysql
  • 开启 mysql $service mysql start
  • 如果不想每次开机都手动输入
  • $ sudo vim /etc/fstab
  • 在文件内添加一行命令
  • /media/pi/DIST/mysql /var/lib/mysql none defaults,bind 0 2

请根据自身情况进行选择配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

高万禄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值