Skip to content

基于MySQL Protocol,实现自己数据库驱动( Based on MySQL Protocol, the implementation of its own database driver)

Notifications You must be signed in to change notification settings

CallMeJiaGu/MySQL-Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

基于MySQL网络协议实现自己的数据库驱动。主要是利用Wireshark解析MySQL的packet,使用Socket实现通信。具体实现思路可以点击下方的个人博客查看 。

在实现功能,借鉴了 sea-boat的packet实现,在其基础上进行功能块的编写,如查询功能可以看下面列子

package com.jiagu.mysql.CURD;

/**
 * Created by jintx on 2018/11/1.
 */
public class QueryTest {

    public static void main(String args[]) throws Exception{
        Query query = new Query();
        String host = "192.168.43.97";//数据库ip地址
        int port = 3306;//端口号
        String user = "root";//用户名
        String password = "tdlab401";//密码
        String dataBase = "data";//操作的数据库名
        String sqlStr = "SELECT name,author FROM `paper` limit 0,2;";//查询语句
        query.query(host,port,user,password,dataBase,sqlStr);//输出结果
    }

}

结果:

一种基于混沌的敏感数据加密算法,司德成,

水下无线电能传输和信号接口系统设计和分析,周世鹏,

实现自己的数据库驱动——MySQL网络协议(一)

实现自己的数据库驱动——WireShark分析MySQL网络协议中的数据包(二)

实现自己的数据库驱动——MySQL协议Handshake解析(三)

实现自己的数据库驱动——MySQL协议Auth Packet解析(四)

实现自己的数据库驱动——MySQL协议OK/Error包解析(五)

实现自己的数据库驱动——MySQL协议Result Set包解析(六)

实现自己的数据库驱动——MySQL协议Quit包解析(七)

实现自己的数据库驱动——字节位运算细节(八)

实现自己的数据库驱动——Packet的read(九)

实现自己的数据库驱动——Packet的write(十)

About

基于MySQL Protocol,实现自己数据库驱动( Based on MySQL Protocol, the implementation of its own database driver)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages