web-dev-qa-db-ja.com

WindowsにインストールせずにMySQLを実行/起動する

通常、Windows用のMySQL msiインストーラーをダウンロードし、インストールしてから、インストール手順でデータベースを構成および作成します。次に、アプリケーション/言語を使用して接続し、そこから進みます。

ただし
msiインストーラーを使用せずに同じ結果に到達したいのですが、代わりに提供されたMySQLアーカイブを使用したいです。そう、

  • ダウンロードしました(MySQL Community Server => Windows(x86、64-bit)、Zip Archive mysql-5.7.17-winx64.Zip
  • アーカイブを抽出しました。

Windowsのコマンドラインを使用して、ダウンロードしたサーバーファイルを使用してデータベースを作成および管理する方法を知りたい

ほとんどの検索試行では、msiのインストールが行われたと仮定するか、MySQLの基本をまだ学習しようとしている人にとっては非常に複雑すぎる結果が得られます。

TL; DR:コマンドラインからWindowsでMySQLサーバーアーカイブファイルを使用してデータベースを作成および管理するにはどうすればよいですか?

14
naaz

Ryan Vincentcomment に感謝します。私は、MySQLのリファレンスドキュメントの手順に従うことができました(何らかの理由で、この質問をする前に私の検索で見つけられなかった)。

リファレンスドキュメント:2.3.5 noinstall Zipアーカイブを使用してMicrosoft WindowsにMySQLをインストールする

簡易手順

  1. ダウンロード MySQL Community Server 5.7.17 Windows(x86、64ビット)、Zipアーカイブ
  2. ダウンロードしたMySQLサーバーアーカイブをMySQLサーバーファイルの目的の場所に抽出します(例:D:\mysql\mysql-5.7.17-winx64
  3. MySQLのデータベースのデータファイル用のディレクトリを作成します(例:D:\mysql\mydb
  4. MySQLのデータベースロギング用のディレクトリを作成します(例D:\mysql\logs
  5. MySQLオプションファイルの作成(場所の例:D:\mysql\config.ini

    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    
    [mysqld]
    
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    
    # These are commonly set, remove the # and set as required.
    # basedir = .....
    # datadir = .....
    # port = .....
    # server_id = .....
    
    
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M 
    
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    # set basedir to your installation path
    basedir = "D:\\mysql\\mysql-5.7.17-winx64"
    # set datadir to the location of your data directory
    datadir = "D:\\mysql\\mydb"
    # The port number to use when listening for TCP/IP connections. On Unix and Unix-like systems, the port number must be
    # 1024 or higher unless the server is started by the root system user.
    port = "55555"
    # Log errors and startup messages to this file.
    log-error = "D:\\mysql\\logs\\error_log.err"
    
    [mysqladmin]
    
    user = "root"
    port = "55555"
    
    • 選択されたポートは55555です
    • [mysqld]は、mysql.exeがこの構成ファイルを読み取るときに使用されるmysqld.exeに関連するオプションをグループ化します。
    • [mysqladmin]は、mysqladmin.exeがこの構成ファイルを読み取るときに使用されるmysqladmin.exeに関連するオプションをグループ化します。
  6. Windowsバッチファイル/コマンドプロンプトを使用してMySQLデータベースファイルを初期化する

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqld.exe" --defaults-file="D:\\mysql\\config.ini" --initialize-insecure --console
    
    • これにより、構成ファイルで指定された場所にデータベースファイルが作成されます。
    • パスワードなしのrootユーザーが含まれます。
    • 現在のコンソールウィンドウにエラーメッセージが出力されます。
  7. MySQLデータベースサーバーを起動するバッチファイルを作成する

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqld.exe" --defaults-file="D:\\mysql\\config.ini"
    
    • これは[mysqld]構成ファイルの一部/グループ(D:\mysql\config.ini)そしてそこに指定されたオプションを使用して、MySQLデータベースサーバーを起動します。
  8. MySQLデータベースサーバーをシャットダウンするバッチファイルを作成する

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqladmin.exe" --defaults-file="D:\\mysql\\config.ini" shutdown
    
    • これは[mysqladmin]構成ファイルの一部/グループ(D:\mysql\config.ini)そしてそこに指定されたオプションを使用して、MySQLデータベースサーバーを指定してシャットダウンします。
  9. これで、データベースを起動してアクセスし、不要になったらシャットダウンできます。

[〜#〜]免責事項[〜#〜]これらの手順は、MySQLデータベースを使い始めるのに役立つはずであり、 production。(rootユーザーにはまだパスワードが設定されていません)

リソースと詳細

  1. リファレンスドキュメント:2.3.5 noinstall Zipアーカイブを使用してMicrosoft WindowsにMySQLをインストールする
  2. リファレンスドキュメント:5.2.6オプションファイルの使用
  3. リファレンスドキュメント:5.2.3プログラムオプションの指定
  4. リファレンスドキュメント:6.1.4サーバーコマンドオプション
  5. [追加]リファレンスドキュメント:5.6 1台のマシンで複数のMySQLインスタンスを実行する
31
naaz

さらに、「mysqld:MySQLアプリケーションがWindows EventLogにログインするために必要なレジストリキーを作成またはアクセスできませんでした。キーを作成するために十分な権限でアプリケーションを1回実行するか、キーを手動で追加するか、またはそのアプリケーションのロギングをオフにします。」エラー-ステップ6、7に次の行を追加します。-log_syslog =

6
smexy