MySQL DBサーバーのデータディレクトリの変更


10

MySQLサーバー5.6.24をWindows Server 2012 R2にインストールしました。

ダンプファイルをインポートし、データファイルは C:\ProgramData\MySQL\MySQL Server 5.6\data

のようにディレクトリを変更したいD:\ProgramData\Data

誰か助けてくれませんか?

回答:


10
  1. 管理者としてWindows CLIを開き、MySQLをシャットダウンします。

    net stop mysql
  2. データをコピー D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  3. 作成または編集 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    これを my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
  4. スタートアップMySQL

    net start mysql

    実行できない場合はnet start mysql、Windowsのコントロールパネルをお試しください。

  5. 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

0

インストール後にデータベースディレクトリを変更する方法について、Windows 10上のMySQLサーバー8.0の現在の回答を追加しました(インターネットで検索して解決策が見つからなかったので、ほとんど夢中になったので、これが誰かに役立つことを願っています)。

最初の手順は、MySQL Server 5.6の通常の他の手順と同じです。唯一の違いは基本的に3番目のステップです。

  1. サービスに移動し(WIN + Rを押す、タイプservices.msc、Enter MySQL80キーを押すなど)、右クリックして[停止]をクリックしてサービスを停止します(サービス名はインストール時に指定されるため、名前が異なる場合があります)。

  2. データベースフォルダを好きな場所に移動します。通常、最初の場所は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"
  3. さて、データベースを移動し、内のエントリの名前を変更した後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

    もちろん、設定ファイルのパスのみを変更する必要があることに注意してください。

  4. これでサービスを再開できます!サービスに再度移動し、サービスを右クリックしMySQL80て「開始」オプションを再度選択すると、問題なく再起動するはずです。手順3をスキップした場合、通常、再起動は機能しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.