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

标签 mysql database

我想以类似于使用 SmallSQL 访问本地 MySQL 文件的方式访问本地 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 数据库,就像我们可以使用存储在 $path_to_myql/mysql/data/db 中的 SmallSQL 一样?

谢谢

最佳答案

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

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

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

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

关于mysql - 没有网络访问的本地 MySQL 连接(没有提到端口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14335250/

相关文章:

mysql - 使用 Sequelize 计算关联条目

MySQL SELECT LIKE 空格编码问题?

mysql - 如何恢复对 mysql 的授予访问权限

sql - 如何在 sql server 中连接并制作一组文本?

c++ - 规划文件索引程序

php - 没有从数据库中为用户在 PHP 中获取数据

java - 如何使用 Java (NetBeans) 编辑 MS Access 数据库

sql - 如何在 jira (db) 的时间间隔内找到添加到项目版本的所有问题?

mysql - 如何在 Yii2 中进行批量数据库插入?

Java JPA - 内部联接查询不起作用