如何在我想要的地方找到我的新mySQL数据库?

时间:2016-11-13 13:54:11

标签: mysql

我在Windows上使用mySQL Workbench时,我绝对不得不这样做,否则就是ADO。

我在Jet数据库方面经验丰富,您只需创建mdb文件,随时随地将其放在任何位置,然后使用包含数据库路径的ADO连接字符串打开数据库。

现在我必须做这个可怜的mySQL事情...出于某种原因,我不明白这个数据目录中所有的数据库都去了,你不能改变在创建数据库时(?)。

所以我将我的数据库创建为一个shell(稍后要删除的1个垃圾表,没有记录),它被困在这个毫无价值的数据目录中。现在我想将这个shell复制/粘贴到我真正想要的地方,并开始通过ADO来创建我的"真正的"数据库...但它没有工作;我的ADO连接字符串包含新路径,连接打开时没有错误,但所有操作只更改数据目录中的副本。

是的,我已经搜索了这个主题,以及唯一的"解决方案"我看到要更改ini文件中的默认数据目录......这看起来很愚蠢且不可行;如果我想创建另一个数据库并将其放在其他地方怎么办?

有人可以在这里说清楚吗?

1 个答案:

答案 0 :(得分:1)

一旦以可以创建数据库的用户身份连接到MySQL数据库,通常是安装后的root用户,您只需编写:

CREATE DATABASE my_database;

该数据库将在MySQL正在使用的datadir中运行MySQL服务器进程的机器上创建。 There are default locations for these things,但您可能不必担心它们。正如第一位评论者所说,您不必担心文件的最终位置。

Here is the information for finding your my.cnf file on Windows。找到该文件后,将datadir更新为您想要的位置:

datadir="C:\New Data\Path"

然后停止MySQL服务器并移动文件。将当前datadir中的所有文件复制到MySQL服务器后重新启动MySQL服务器。您可以使用以下命令找到当前的datadir(以root用户身份连接到服务器):

SHOW VARIABLES LIKE '%datadir%';

确保在移动文件之前停止服务器

CREATE TABLE documentation表示您可以在TABLESPACE之外的datadir中创建一个表格。首先创建一个如下所示的表空间:

CREATE TABLESPACE my_tablespace ADD DATAFILE 'C:\my_space';
如果要使用InnoDB引擎,

需要是单个文件。然后,您可以通过在表格的创建中指定表格来在该表空间中创建表格:

CREATE TABLE new_table (a INT) TABLESPACE my_tablespace;

我以前没有这样做过,但它应该有效。