Category Archives: サーバ構築

bitnami-logo

BitNamiをインストール済みのサーバに、パッケージを追加する場合、 MySQLサーバを一つに纏めたいと思い、DBを作成しようとするとmysqlのroot権限が必要になるケースが考えられる。 で、BitNamiのMySQLにrootパスワードを設定した時の手順を以下に記載。 BitNamiではなく、MySQLを単体でパッケージでインストールした場合と、 異なるポイントは、’PATH’の違い。 1. mysqld(bitnamiごと)のシャットダウン su /etc/init.d/bitnami stop 2. mysqlだけを、権限無視のオプションで起動 su mysql -c ‘/opt/bitnami/mysql/bin/mysqld –skip-grant-tables’ ※ここでのポイントが、mysqldの’PATH’。 bitnamiのインストールディレクトリ以下にあるはず。 通常Linux系のパッケージからインストールした場合は、 su mysql -c ‘/usr/libexec/mysqld –skip-grant-tables’ が多い気がする。 3. 別のターミナルを立上げ、先ほど起動したMySQLに接続する。 su mysql mysql すると下記エラー。 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) これもまた、’PATH’の弊害。 mysqlのsocketが作成されるPATHが、bitnamiのインストールディレクトリ によるため、(今回は、/opt/bitnami/mysql/tmp/mysql.sock)ソケットを 指定して接続する必要があるので、下記コマンド(オプション -S で指定)でOK。 su mysql -uroot -S /opt/bitnami/mysql/tmp/mysql.sock mysql 4. rootパスワードを任意のパスワードに更新。 UPDATE user SET Password=PASSWORD(‘[New password]‘) WHERE User=’root’; パスワード設定後、mysqlを抜ける。(exit もしくは、 q) 5. mysqlのプロセスを確認し、killして権限不要モードで起動していたmysqlを シャットダウンする。 ~$ ps aux […]

RedmineをSubversionと連携させるために、設定しようと 思ったら、 「リポジトリに、エントリ/リビジョンが存在しません。」 で、以下調査過程時のメモを基に掲載。 (理由はしょうもないものでした。。。) 対象プロジェクトの「設定」->「モジュール」で、 リポジトリのチェックがONになっている事を確認。 「リポジトリ」の設定 Subversionを選択して、 ・リポジトリのURL ・ユーザ ・パス を設定。 一旦「ホーム」に戻って再度リポジトリを 参照してみると。。。。 「リポジトリに、エントリ/リビジョンが存在しません。」 。。。。 サーバログを確認したところ、以下の通り。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list> ・ ・ ・ … No close tag for /lists/list Line: Position: Last 80 unconsumed characters: Output was:       Rendering template within layouts/base Rendering common/error (404) Completed […]

mysql_clr

◇MySQLのチューニングに関連して、メモリ関連のパラメータを整理してみた。 1. innodb_buffer_pool_size:  【デフォルト値:8388608(単位:バイト)】 InnoDBのバッファプールサイズ InnoDBをメインで使う場合の、最も重要なメモリ領域。 各種SQLを処理する際に、レコードデータキャッシュ領域として利用される領域。 InnoDBバッファプール内に収まるデータサイズの場合は、ディスクアクセスが発生しないため、パフォーマンスに大きく影響する。 設定値の目安:1つのインスタンスのみが稼動するMySQL専用サーバ上でInnoDBをメインで動かす場合、全部つりメモリサイズの60%~80%程度を指定する事が推奨されている。 2. innodb_additional_mem_pool_size: 【デフォルト値:1048576(単位:バイト)】 InnoDB追加バッファサイズ InnoDBテーブルの定義情報などのデータディクショナリ情報を格納。InnoDBのテーブル数を多くする場合は、増やした方が良いとされている。 3. innodb_log_buffer_size:  【デフォルト値:1048576(単位:バイト)】 InnoDBログバッファサイズ OracleでいうREDOログファイルのサイズに相当する。1つのトランザクション内で多くのデータを更新するのであれば、サイズを大きくした方がよい。 設定値の目安:1MB~8MBの範囲内での設定が推奨されている。(デフォルトは1MB) 4. query_cache_size:  【デフォルト値:0(単位:バイト)】 クエリキャッシュのサイズ SELECT文の実行結果をメモリ上にキャッシュしておいて、まったく同じ SELECT文が送られた場合には、キャッシュされた結果をそのまま返すため、パフォーマンスに大きく影響する。 5. key_buffer_size:  【デフォルト値:8388600(単位:バイト)】 キーバッファのサイズ MyISAMテーブルに対してインデックス情報を格納する領域。デフォルトは8MBだがMyISAMのテーブル数を多くする場合は、このサイズを大きくした方がよい。 6. binlog_cache_size:  【デフォルト値:32768(単位:バイト)】 バイナリログキャッシュサイズ 未コミットのトランザクションの情報をキャッシュしておく。 トランザクション情報がこのサイズに収まらない場合は、一次ファイルが使用される。 7. read_buffer_size:  【デフォルト値:131072(単位:バイト)】 リードバッファサイズ 全件検索に使用されるメモリ領域。インデックスの使用に関わらず、このリードバッファが使用される。テーブル全体をスキャンするSQL文を何度も実行する場合は、この値を大きくした方がよい。 8. join_buffer_size: 【デフォルト値:131072(単位:バイト)】 ジョインバッファサイズ フルジョインにおいて、レコードデータのキャッシュに使用される。 1回の振るジョインにつき1つのジョインバッファが確保され、SQL文の実行終了とともに解放される。 9. sort_buffer_size: 【デフォルト値:2097144(単位:バイト)】 ソートバッファサイズ ソートの際に使用される領域。多数の検索結果に対してorder byやgroup byを多用する場合は、この値を大きくした方が良い。 10. max_allowed_packet: 【デフォルト値:1048576(単位:バイト)】 通信バッファサイズ ユーザプロセスとサーバスレッドの間のSQLや結果のよりとりの際に使用される。 デフォルトは1MBだが、ブロブ型のようなサイズの大きなデータを扱う場合や、バルクインサート文で大量のデータを一度にロードする場合は、この値を大きくすると良い。 11. thread_stack: 【デフォルト値:196608(単位:バイト)】 スレッド固有のスタックサイズ スタック領域と呼ばれる、スレッド固有の領域のこと。 バイナリパッケージの種類によっては変更できないものもあり、基本的には、デフォルト値のままでよいとされている。 12. thread_cache_size: 【デフォルト値:0(単位:バイト)】 キャッシュするスレッド数 接続終了後のサーバスレッドを、次の接続時に再利用できるようにキャッシュしておける機能があり、接続時のオーバヘッドを軽減できる。 デフォルトは、0で無効になっている。 13. max_connections: […]