MySQLサーバー5.6.24をWindows Server 2012 R2にインストールしました。
ダンプファイルをインポートしました。データファイルはC:\ProgramData\MySQL\MySQL Server 5.6\data
に保存されています
D:\ProgramData\Data
のようにディレクトリを変更したい。
誰か助けてくれませんか?
管理者としてWindows CLIを開き、MySQLをシャットダウンします。
net stop mysql
データをD:\ProgramData\Data
にコピーします
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
作成または編集C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
これをmy.ini
に追加します
[mysqld]
datadir = D:/ProgramData/Data
スタートアップMySQL
net start mysql
net start mysql
を実行できない場合は、Windowsのコントロールパネルをお試しください。
MySQLにログインし、すべてが良好であることを確認します
MySQLにログインしたら、これを実行します
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
新しいデータディレクトリに、デフォルトのデータディレクトリが使用していたユーザーNetwork ServiceおよびAdministratorと同じ完全なアクセス許可を与えることを忘れないでください。停止」エラー。新しいディレクトリが機能していることを確認するまで、このディレクトリを削除しないでください。
これが機能しない場合、ロールバック計画は次のとおりです。
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
インストール後にデータベースディレクトリを変更する方法について、Windows 10上のMySQLサーバー8.0の現在の回答を追加しました(インターネットで検索して解決策が見つからず、ほとんど夢中になったので、これが誰かに役立つことを願っています)。
最初の手順は、MySQL Server 5.6の通常の他の手順と同じです。唯一の違いは基本的に3番目のステップです。
サービスに移動し(たとえば、WIN + Rを押し、_services.msc
_と入力し、Enterキーを押します)、_MySQL80
_サービスを右クリックして[停止]をクリックします(サービス名はインストール中に指定されるため、名前は異なる場合があります)。
データベースフォルダを任意の場所に移動します。通常、最初の場所は_C:\ProgramData\MySQL\MySQL Server 8.0\data
_です。 _C:\ProgramData\MySQL\MySQL Server 8.0\
_フォルダー内には、_my.ini
_ファイルが必要です。それを開いてNotepad ++(または他のメモ帳)で編集し、古い場所を何らかの形で示す行を検索します。これは2回出現するはずです(1つはdatadir
用、もう1つは_secure-file-priv
_用)。両方の名前を対応する新しい場所に変更します(おそらくdatadir
部分の名前を変更するだけで十分ですが、申し訳ありませんが安全です)。最初は通常、次のようになります。
_datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
_
そして
_secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
_
新しい場所を_E:/MySQL/MySQL Server 8.0/...
_にする必要がある場合は、次のように両方のエントリの名前を変更します。
_datadir=E:/MySQL/MySQL Server 8.0/Data
_
そして
_secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
_
ここで、データベースを移動し、_my.ini
_ファイルのエントリの名前を変更した後、サービスを再起動する前に、レジストリエディターを開き(たとえば、WIN + Rを押し、「regedit」と入力し、Enterキーを押します)、_Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
_(ここでも、_MySQL80
_はインストール時に選択したMySQLサービスのサービス名であり、_MySQL80
_とは異なる場合があります)ImagePath
エントリを右クリックして、変更を選択します。次のような文字列が表示されます。
_"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
_
これは基本的に、追加のconfig-fileパラメーターを使用してサービスによって実行される実際のexeファイルへのリンクです。つまり、以前に変更した_my.ini
_ファイルです。したがって、もちろん、ここでは、構成ファイルへのパスも移動されたため、更新する必要があります。この例では、次のように変更します。
_"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
_
もちろん、設定ファイルのパスのみを変更する必要があることに注意してください。
これでサービスを再開できます!サービスに再度移動し、_MySQL80
_サービスを右クリックして「開始」オプションを再度選択すると、問題なく再起動するはずです。手順3をスキップした場合、通常、再起動は機能しません。