既存のdatadirパスを変更する


20

ファイルのdatadirパスを変更したいmy.ini

既存のdatadirパスはC:/ProgramData/MySQL/MySQL Server 5.1/Data/

C:ドライブのサイズは30 GBで、MySQLデータフォルダーは25 GBを占有しています。に変更datadirF:/naveen/dataます。

これは可能ですか?

私のマシンはWindows Server 2003を実行しています

回答:


26

あなたのパスから、私は安全に以下を仮定することができます:

  • WindowsでMySQLを実行しています
  • MySQL MSIを使用してインストールした

あなたがする必要があるのは、ファイルmy.iniを確立することです

MSIを使用してMySQL for Windowsをインストールする場合、my.iniの場所はであると予想されますC:/ProgramData/MySQL/MySQL Server 5.1

DOSウィンドウで次を実行してください。

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

サンプルのmy.iniファイルが表示されます。ただし、そのフォルダーにmy.iniという名前のファイルがない場合は、作成する必要があります。存在するかどうかにかかわらず、これを実行してください:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

作成するように求められた場合は、作成してください。

次に、my.iniの[mysqld]グループヘッダーの下に次のエントリを作成します。

[mysqld]
datadir=F:/naveen/data

my.iniを保存

次に、DOSコマンドラインから次のようにmysqlを停止します。

C:\> net stop mysql

次に、新しい場所にあるデータフォルダー全体のコピーを作成します

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

最後のステップ、mysqlの起動

C:\> net start mysql

mysqlにログインしてみてください。mysqlに正常にログインできたら、次のコマンドを実行します。

show variables like 'datadir';

F:\naveen\datadatadirとして表示された場合、おめでとうございます。

MySQLが動作するすべてのアプリに満足したら、すべてを削除できます C:\ProgramData\MySQL\MySQL Server 5.1\data\*

試してみる !!!


上記の手順がWindows Server 2008で機能することを知っていますか?

動作しますが、ほとんどの場合、エラー1067が発生します。新しいディレクトリの権限を確認してください

2
サービスがとして登録されているMySQL57場合があるため、最初に確認する必要があります。
ジャンニスクリストファキス

2
noobを間違えましたが、権限をxcopyしませんでした。mysqlは再起動しません。私はNETWORK SERVICEにdatadirへのフルアクセスを与えようとしました(他のオンライン提案に従って)、それは許可エラーを投げました。これが発生した場合は、「Everybody」にデータサブディレクトリのフルコントロールを与え、子に継承してください。次に、親(datadir)フォルダーに移動し、「詳細」権限による継承を有効にして、すべての子に適用します。次に、NETWORK SERVICEをdatadirに追加して、完全に制御できるようにし、それを子に伝播できます。
-murraybiscuit

2
この回答xcopy /O/X/E/H/Kxcopy /Sはなくを使用する必要があります。
イーサンアレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.