没有网络访问的本地MySQL连接(不提端口)

时间:2013-01-15 10:04:47

标签: mysql database

我想以类似于使用SmallSQL访问的方式访问本地MySQL文件。 例如

    String driver = "smallsql.server.SSDriver"; 
    String url = "jdbc:smallsql:C:\\Users\\user\\Desktop\\SQuirreL\\db";

    Class.forName(driver).newInstance();
    conn = DriverManager.getConnection(url);
    System.out.println("Connected to smallSQL database");

正如您所看到的,我可以将我的db文件夹移动到本地计算机上的任何位置,而我所要做的就是提及要与之连接的db文件夹的路径。在mysql中类似的实现,如下所示:

    try 
    {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        conn = DriverManager.getConnection(jdbc:mysql://localhost:3306/db?characterEncoding=UTF8&user=root&password=#$%^";);
        System.out.println("Connected to MySQL database");
    } 

所以我想知道有没有类似的方法来处理MySQL数据库,就像我们可以用SmallSQL做的那样,它们存储在$ path_to_myql / mysql / data / db中?

由于

1 个答案:

答案 0 :(得分:1)

根据documentation,本地套接字连接仅适用于Unix系统(不适用于Windows)。

更重要的是,您必须意识到SmallSQL与SQLite非常相似,因为它的整个数据库引擎只是一个由您的进程链接的库,这就是您可以直接在磁盘上打开和访问数据库的原因。

另一方面,MySQL运行完全专用的服务器守护程序,该守护程序为多个客户端提供服务,并完全控制其内部数据库文件。它可以在同一台物理计算机上运行,​​也可以在远程主机上运行,​​您无法告诉它数据文件的位置。

长话短说 - 你应该忍受它。 MySQL更复杂,但也比SmallSQL或SQLite快得多。