ソースコンパイルでサーバ構築 CentOS版 Part5
怒涛の五日目突入!
今日はMySQLです。
MySQLをソースでインストール
# 必要なパッケージをインストール yum -y install cmake yum -y install ncurses-devel # ソース展開用ディレクトリに移動 cd /usr/local/src/ mkdir mysql cd mysql # リンク http://dev.mysql.com/downloads/mysql/ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz # 展開 tar zxvf mysql-5.6.16.tar.gz # MySQL用のグループとユーザを作成 sudo groupadd mysqlsudo useradd -g mysql -s /usr/sbin/nologin mysql # 以下の条件でコンパイルします #----- # デフォルトのキャラクタセット = utf8 # デフォルトの照合順序 = utf8_general_ci # ストレージエンジンにInnoDB追加 #----- /usr/bin/cmake . \ -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \ -DMYSQL_DATADIR=/var/lib/mysql/data \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DDISABLE_SHARED=1 \ -DENABLE_DTRACE=0 \ -DENABLE_GCOV=0 \ -DWITH_DEBUG=0 \ -DENABLE_DEBUG_SYNC=0 \ -DWITH_PIC=1 # makeしてmake install make && make install # 起動スクリプトを作成し、実行権限を付与 cp /var/lib/mysql/support_files/mysql.server /etc/init.d/mysql chown root:root /etc/init.d/mysql chmod a+x /etc/init.d/mysql
データベース準備
# データ格納ディレクトリの権限をmysqlに chown -R mysql:mysql /var/lib/mysql # データベース初期化 /var/lib/mysql/scripts/mysql_install_db --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data --user=mysql # コマンド郡設置 cd /usr/local/binln -s /var/lib/mysql/bin/mysqladmin mysqladminln -s /var/lib/mysql/bin/mysql mysqlln -s /var/lib/mysql/bin/mysqlcheck mysqlcheckln -s /var/lib/mysql/bin/mysqldump mysqldump # MySQL用設定をチューニング vim /etc/my.cnf #--- 追記内容 START my.cnf [mysqld] #skip-grant-tables port = 3306 datadir=/var/lib/mysql/data socket=/tmp/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server = utf8 skip-character-set-client-handshake log-error = /var/log/mysql/mysqld-error.log general_log = 1 general_log_file = /var/log/mysql/mysql.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 max_connections = 50 key_buffer_size = 16M max_allowed_packet = 1M binlog_cache_size = 1M table_open_cache = 128 sort_buffer_size = 512K join_buffer_size = 512K thread_concurrency = 4 query_cache_size = 16M query_cache_limit = 512K tmp_table_size = 50M read_buffer_size = 256K read_rnd_buffer_size = 512K net_buffer_length = 8K #*** MyISAM Specific options myisam_sort_buffer_size = 1M # *** INNODB Specific options *** innodb_buffer_pool_size = 32M innodb_additional_mem_pool_size = 5M [mysqld_safe] log-error = /var/log/mysql/mysqld_safe-error.log pid-file=/var/run/mysqld.pid [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash default-character-set = utf8 [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [client] socket=/var/lib/mysql/mysql.sock #----- 追記内容 E N D # 起動 /etc/init.d/mysql start # 自動起動追加 chkconfig --add mysql chkconfig mysql on
phpMyAdminを準備(念のため)
# ソースをwget cd /var/www/src wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.7/phpMyAdmin-4.1.7-all-languages.tar.gz # ソース展開 cd /var/www/html tar zxvf ../src/phpMyAdmin-4.1.7-all-languages.tar.gz # リネーム mv phpMyAdmin-4.1.7-all-languages phpMyAdmin # 設定ファイル作成 cp config.sample.inc.php config.inc.php vim config.inc.php
ブラウザからアクセスしてみる
- my.cnfのsocketを調整した場合は変更が必要な可能性あり
# my.cnfで # socket=/var/lib/mysql/mysql.sock # としてしまった場合 vim /etc/php.ini #--- 変更内容 START php.ini mysql.default_socket = /var/lib/mysql/mysql.sock pdo_mysql.default_socket= /var/lib/mysql/mysql.sock mysqli.default_socket = /var/lib/mysql/mysql.sock #--- 変更内容 E N D