我想以类似于使用 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/