sql >> データベース >  >> RDS >> Mysql

スタンドアロンMySQLサーバー

    一部の種類のデプロイメント、特にリッチダイナミックアプリケーションが大規模なデータベースに依存している場合、データベースサーバーをアプリケーションサーバーから分離すると、アプリケーションを拡張して、はるかに大規模なユーザーベースに対応できるようになります。 MySQLのみで使用される別のサーバーを指定すると、アプリケーションのWebサーバーがコンテンツをより効率的に提供できるようになり、データベースサーバーがより迅速に応答できるようになります。

    その結果、これらのデータベースサーバーは、トラフィック負荷の高い展開をより効果的にサポートできます。これにより、WordPressやDrupalなどの一般的なパッケージから、Ruby on RailsやDjangoで記述されたカスタムアプリケーションまで、さまざまなアプリケーションでより高いパフォーマンスを実現できる可能性があります。

    前提条件

    このガイドでは、2つのLinodeを使用します。両方のサーバーを同時に実行する必要があるため、これは既存のLinodeアカウントに2番目の構成プロファイルを単にデプロイすることとは異なることに注意してください。両方のLinodeのコンピューティングインスタンスの設定と保​​護のガイドに従っていることを前提としています。

    • Webサーバーを実行しているLinodeの場合、以降、アプリケーションサーバーには、Apache(またはお好みのWebサーバー)がすでにインストールされている必要があります。新規インストールについては、ディストリビューションのLAMPガイドに従ってください。 LAMPガイドにはMySQLが含まれていますが、インストールする必要はありません。
    • 専用のMySQLLinodeにはMySQLがインストールされている必要があります。ディストリビューションのMySQLデータベースサーバーインストールガイドに従ってください。専用のMySQLサーバーにApacheをインストールする必要はないことに注意してください。

    また、各LinodeのプライベートIPアドレスのエイリアスを構成する必要があります。これについては、Linux静的IP構成ガイドに従ってください。 両方のLinodeが同じデータセンターにある必要があることに注意することが重要です プライベートネットワーキングが機能するため。これにより、サーバーは、毎月の帯域幅割り当てに対してトラフィックをカウントせずに通信できるようになります。プライベートIPアドレスを設定した後、両方のLinodeを再起動する必要があります。

    / etc/hostsを編集

    後で追跡できるように、マシンごとにホスト名を作成する必要があります。これにより、サーバーのIPアドレスを変更する必要がある状況に陥った場合でも、作業を節約できます。 /etc/hostsを編集します プライベートを含めるファイル 各LinodeのIPアドレス。 /etc/hostsの例からの次の抜粋を使用してください 例としてのファイル:

    ファイル:/ etc / hosts
    1
    
    > 127.0.0.1 localhost 192.168.192.168 mysql.example.com mysql 192.168.192.169 app.example.com app

    192.168.192.168を忘れずに置き換えてください および192.168.192.169 実際のプライベートIPアドレスを使用します。

    この手順はオプションですが、hostsを構成します エントリを使用すると、アプリケーション構成を特定のIPアドレスにハードコーディングする必要がなくなります。 IPアドレスを変更する必要がある場合は、アプリケーションサーバーとデータベースサーバーを代替サーバーにすばやく移行できます。

    MySQLサーバーの構成

    次のステップは、/etc/mysql/my.cnfを変更することです。 MySQLサーバー上のファイルを使用して、プライベートIPアドレスをリッスンします。お気に入りのエディターを使用して、/etc/mysql/my.cnfを開きます。 ファイルを作成し、MySQLデータベースのホスト名を挿入します。この例では、MySQLデータベースのホスト名はmysqlです。 。 bind-addressを見つけます 行:

    ファイル:/ etc / mysql / my.cnf
    1
    
    bind-address = mysql

    または、プライベートIPアドレスを使用することもできます。ファイルを保存し、次のコマンドを実行してMySQLデーモンを再起動します。

    /etc/init.d/mysql restart
    

    データベースアクセスの許可

    専用データベースサーバーで、アクセス権を持つデータベースのユーザー名とパスワードを作成する必要があります。これは、MySQLプロンプトを介して可能です。次のコマンドを発行します:

    mysql -u root -p
    

    これにより、MySQLコマンドラインが提供されます。 appに置き換えて、次のコマンドを発行します アプリケーションサーバーを実行しているLinodeのホスト名と、「PASSWORD」の代わりに強力なパスワードを使用:

    CREATE DATABASE webapplications;
    
    GRANT ALL ON webapplications.* TO [email protected]'app' IDENTIFIED BY 'PASSWORD';
    

    この段階で、アプリケーションはリモートデータベースに正常にアクセスでき、データベースサーバーの使用を開始する準備が整います。

    データベースサーバーの使用

    この時点から、すべてが構成され、データベースサーバーがWebサーバーからの接続を受け入れる準備が整います。これで、問題なくアプリケーションをMySQLサーバーに向けることができるはずです。リモートMySQLサーバーで動作するようにWebアプリケーションを設定するときは、リモートシステムへの権限を持つユーザーを作成する必要があることを覚えておくことが重要です(上記のとおり)。

    別のデータベースサーバーでMySQLを使用することは、ローカルデータベースサーバーを実行することと非常に似ています。通常、アプリケーションでは「データベースホスト名」を指定する必要があり、従来、ローカルマシンで実行されているデータベースサーバーのホスト名はlocalhostです。 。データベースサーバーとアプリケーションサーバーを分離する場合は、上記のように、アプリケーションでホスト名を指定する必要があります。

    たとえば、inWordPressデータベース設定はwp-config.phpに含まれています ファイルであり、ホスト名は次の形式で指定されます:

    ファイル:wp -config.php
    1
    2
    
    /** MySQL hostname */
    define('DB_HOST', 'mysql');

    ホスト名の設定方法はアプリケーションによって異なることに注意してください。さらに、/etc/hostsで構成されているホスト名を使用するのではなく、データベースサーバーの特定のIPアドレスに置き換えることができます。 上記。

    MySQL固有のクエリおよび関連するヘルプについてはexternalMySQLWebサイトを参照することも検討してください。

    詳細情報

    このトピックの詳細については、次のリソースを参照してください。これらは有用であることを期待して提供されていますが、外部でホストされている資料の正確性や適時性を保証することはできません。

    • Webアプリケーションガイド
    • Webアプリケーションフレームワーク
    • データベース管理システム

    1. MariaDBで特定の文字のASCIIコードを返す2つの方法

    2. PostgreSQLで名前の代わりに識別子番号を使用できるのはいつですか?

    3. SQLServerにテーブルが存在するかどうかを確認します

    4. SQLServerの論理演算子とは-SQLServer/TSQLチュートリアルパート124