Linux:MySQLデータベースサーバーのセットアップ
シリーズの2番目の実践的なレッスンに進み、専用サーバーの仮想環境のセットアップについてお話ししましょう。MySQL/ PostgreSQLデータベースへのアクセスを保存および維持するためのノード(VM)を準備します。
このインストールでは、MySQLデータベースサーバーを使用します。 このチュートリアルのすべての設定は、 vm04でIPアドレス192.168.1.13でのみ行われます
MySQLサーバーをインストールする
次のyum managerコマンドを入力して、MySQLデータベースサーバーをRHEL / CentOS Linuxシステムにインストールします 。
# yum install mysql mysql-server
MySQLサーバーのセットアップ
ファイル/etc/my.cnfを編集します。 # vi /etc/my.cnf
MySQLサーバーが、Apache + php5がインストールされたvm01およびvm02仮想マシンからアクセス可能であることを確認してください。 [mysqld]セクションを見つけ、次のパラメーターを追加/修正して、 mysqldデータベースサービスにリモートでアクセスできるようにします 。
# , skip-networking ( ) # skip-networking # bind-address=192.168.1.13
MySQLサーバーのパラメーターの最適化
MySQLサーバーを最適化する必要があります。最適化しないと、 vm04仮想マシンのリソースのかなりの部分を消費します。 次のように設定を追加または修正できます(詳細については、 MySQLのマニュアルを参照してください)。 ######################################################################## # !!! # # mysqld my.cnf # .. # ######################################################################## # # symbolic-links symbolic-links=0 ## , , YMMV skip-name-resolve skip-slave-start skip-external-locking # # # , # sort_buffer_size = 2M read_buffer_size = 2M binlog_cache_size = 1M wait_timeout = 200 interactive_timeout = 300 max_allowed_packet = 12M thread_stack = 128K table_cache = 1024 myisam_sort_buffer_size = 1M tmp_table_size = 12M max_heap_table_size = 12M # # log_queries_not_using_indexes = 1 slow_query_log = 1 slow_query_log_file = /var/lib/mysql/slowquery.log # # tmp_table_size = 12M max_heap_table_size = 12M query_cache_type = 1 query_cache_limit = 2M query_cache_size = 32M max_connections = 500 thread_cache_size = 50 open_files_limit = 65535 table_definition_cache = 4096 table_open_cache = 1024 # MyISAM # key_buffer_size = 32M myisam_recover = FORCE,BACKUP # # max_allowed_packet = 16M max_connect_errors = 1000000 # # log_bin = /var/lib/mysql/mysql-bin expire_logs_days = 14 sync_binlog = 1 # InnoDB # innodb_flush_method = O_DIRECT innodb_log_files_in_group = 2 innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 innodb_file_per_table = 1 innodb_buffer_pool_size = 10G
変更を保存して、ファイルを閉じます。 MySQLサーバーを再起動/再起動します。
# chkconfig mysqld on # service mysqld start # service mysqld reload # service mysqld restart
mysqldが TCPポート#3306で実行されていることを確認します。
# netstat -tulpn | grep :3306
MySQLデータベースサーバーのファイアウォール構成
ファイアウォール/ etc / sysconfig / iptablesの構成を編集します。
# vi /etc/sysconfig/iptables
vm01およびvm02仮想マシンがデータベースサーバーにアクセスできることを確認します。
## mysqld web- Apache Lighttpd # -A INPUT -m state --state NEW -s 192.168.1.10 -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -s 192.168.1.11 -m tcp -p tcp --dport 3306 -j ACCEPT
ファイルを保存して閉じます。 iptablesサービスを再起動します 。
# service iptables restart
ディスククォータとポートサーバーのポート範囲の増加
ロードされたDBMSサーバーの場合、ファイル記述子の数( FD制限 )を増やし、使用可能なIPポートの数を増やします
# fs.file-max = 50000 # net.ipv4. ip_local_port_range = 2000 65000
次のsysctlコマンドを入力して変更を有効にします。これにより、指定した設定に基づいてLinuxカーネルのパラメーターが変更されます。
# sysctl -p
MySQLデータベースとユーザーアカウントの作成
このセクションでは、MySQLデータベースを手動で作成するための基本的なパラメーターを示しますが、タスクを明確にするために、MySQLデータベースと次のパラメーターを持つユーザーを作成します。
- DB名: foo
- DBユーザー名: バー
- DBパスワード: mypassword
- DBへのアクセスが許可されているユーザー : localhost 、 vm01 、 vm02 、次のIPアドレス-192.168.1.10および192.168.1.11
次のコマンドを入力して、データベースと必要なユーザーを作成します。
# /usr/bin/mysql -u root -h localhost -p
fooという名前のデータベースを作成するには、mysqlターミナルラインに次のコマンドを入力します。
mysql > CREATE DATABASE foo;
Apache + php5アプリケーションサーバーがデータベースに接続するbarという名前のMySQLユーザーに、このデータベースへのアクセス権を提供する必要があります。
mysql > GRANT ALL ON foo.* TO bar@localhost IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.10 IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.11 IDENTIFIED BY 'mypassword';
MySQLコンソールを終了するには、次のコマンドを入力します。
mysql > quit
SQLファイルを使用して、テーブルを作成したり、データをロードしたりできるようになりました。 MySQLユーザーとデータベースを追加するシェルまたはPerlスクリプトを記述することにより、この手順を自動化できます 。
「remote」vm01およびvm02からの新しいデータベースとユーザー設定を確認します
sshを介して仮想ホストvm01またはホストvm03に接続し、次のコマンドを入力してApache / Lighttpd Webサーバーとの接続を確認します。
$ mysql -u bar -h 192.168.1.13 -p'mypassword' foo
または:
$ mysql -u bar -h vm04 -p'mypassword' foo
PhpMyAdmin
PhpMyAdminは、MySQLデータベースへの有名なWebインターフェイスです。 このサーバー側スクリプトは、単一のブラウザーを使用してMySQLをリモートで管理するために使用されます。 PhpMyAdminは、MySQLサーバー全体と単一のデータベースの両方を管理できます。 このパッケージは、すべての新しいMySQLデータベースユーザーおよび管理者に推奨されます。
- はじめに
- ステップ#1:セットアップ/インストール:NFSファイルサーバー
- ステップ#2:セットアップ/インストール:MySQLデータベースサーバー
- ステップ#3:セットアップ/インストール:Memcached Caching Server
- ステップ#4:セットアップ/インストール:Apache + php5 Webサーバーアプリケーション
- ステップ#5:セットアップ/インストール:静的アセット用のLighttpd Webサーバー
- ステップ#6:セットアップ/インストール:Nginxリバースプロキシサーバー
翻訳中、およびこの翻訳をさらに聞きたい場合は、投稿の最後に継続するリンクが週に添付されます。