回答:
管理者として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を」は、エンターキーを押し)あなたは再びサービスを再起動する前に、レジストリエディタを開いて、ファイルにナビゲート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をスキップした場合、通常、再起動は機能しません。