2016-11-13 11 views
-2

私は絶対にそうしなければならないときには、mySQL Workbenchを使用してWindows上にいる、そうでなければADO。新しいmySQLデータベースをどこに置いたらいいですか?

mdbファイルを作成し、いつでも必要な場所に置いて、データベースへのパスを含むADO接続文字列でデータベースを開くだけで、Jetデータベースに慣れています。

私はこの悲惨なmySQLのことをやろうとしています...何らかの理由で、私はこのデータディレクトリがすべてのデータベースがどこに行くのか分からず、データベースを作成するときに変更できません。

私は自分のデータベースをシェルとして作成します(後で削除する1つの迷惑メールテーブル、レコードなし)。この無価値のDataディレクトリにはまっています。今私は本当に必要な場所にこのシェルをコピー/ペーストし、私の「実際の」データベースを作成するためにADOを使って作業を開始したいと思いますが、うまくいきません。私のADO接続文字列には新しいパスが含まれており、接続はエラーなしで開きますが、すべての操作ではデータディレクトリのコピーのみが変更されます。

はいこのトピックを検索しましたが、iniファイルのデフォルトのDataディレクトリを変更することしか表示されません。これは愚かで実用的ではありません。別のデータベースを作成して別の場所に配置したい場合はどうすればよいですか?

ここで光を放つことができますか?

+3

MySQLは_database server_です。これは、_databaseファイルとは全く異なるものです。あなたが経験したデータベースファイルは 'sqlite'と多分比較することができます。それらはファイルベースのデータベースでもあります。一方、データベース_server_は異なります。これは、ソフトウェアのアプリケーションとは独立したスタンドアロンのプロセスです。あなたはそれを使用するだけです。つまり、ファイルシステムの操作を行う必要はありません。それはあなたが興味を持っているものではありません。単に接続して使用するだけで、それは_all_ファイルベースのデータベースシステムを完全に凌駕するパフォーマンスで実行されます。それは別のリーグです。 – arkascha

答えて

1

あなたは通常rootユーザーはインストール後に、あなただけ書くことができ、データベースを作成することができ、ユーザーとしてMySQLデータベースに接続すると:

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="C:\New Data\Path" 

をして、MySQLサーバを停止してファイルを移動:あなたは、そのファイルを見つけたら、あなたのdatadirあなたはこのようにしたい場所に更新します。現在のdatadirにあるすべてのファイルをコピーした後、MySQLサーバを再起動します。あなたは(rootユーザーとしてサーバーに接続されている)は、次のコマンドを使用して、現在のdatadirを見つけることができます。

SHOW VARIABLES LIKE '%datadir%'; 

はあなたのファイルを移動する前に、サーバーを停止することを確認します。

CREATE TABLE documentationは、datadirの外にあるTABLESPACEのテーブルを作成できることを示しています。まず、次のような表スペースを作成します。

CREATE TABLESPACE my_tablespace ADD DATAFILE 'C:\my_space'; 

InnoDBエンジンを使用する場合は、単一のファイルである必要があります。

CREATE TABLE new_table (a INT) TABLESPACE my_tablespace; 

私は前にこれを行っていないが、それが動作するはずです:あなたは、その後のようなあなたのテーブルの作成でそれを指定することによって、その表スペースに表を作成することができます。

+0

回答をいただきありがとうございます。私の無知をご了承ください。データベースの作成に問題はないと思います。結果はWorkbenchまたはCREATE DATABASEで作成したものと同じであるようです。問題は、データベースを構成するファイルがデフォルトの場所に動かないように見えていることです。これらは1TBのドライブを2TBドライブに固定する予定のテラバイトのデータベースです。これを行うには、 mySQLサーバーの1つのインスタンス? – dts

+0

更新していただきありがとうございますが、私はすでにそれを行う方法を知っています(そして、私はそれがうまくいくので、練習のために行っています)...しかし、まだ1つのデフォルトのdatadirしかないので、私はここに何かを逃している)。私はmy.cnfを持っていないので、私はmy.iniを編集しています。 – dts

+0

そうですが、私は2つ以上のデータベースを使って作業していますが、それぞれが異なるドライブになければなりません...デフォルトのディレクトリが1つだけの場合はどうしたらいいですか? – dts

関連する問題