タグ

LinuxとMySQLに関するitmst71のブックマーク (14)

  • MySQLのメモリ関係のシステム変数 - 祈れ、そして働け ~ Ora et labora

    概要 MySQLのメモリ関係のシステム変数について、まとめてみました。 構成 MySQL Ver 14.14 Distrib 5.5.14, for Linux (x86_64) using EditLine wrapper メモリサイズの見積もり はじめに、MySQLのプロセスが必要とするメモリサイズの見積もり方法を確認します。 必要なメモリサイズ = グローバルバッファのサイズ +(スレッドバッファのサイズ × 最大同時接続数)グローバルバッファのサイズは以下の方法で計算します。 max_heap_table_sizeは必ずしも割り当てられる訳ではありませんが、安全側に倒すため、計算に含めています。 グローバルバッファのサイズ = key_buffer_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size +

    MySQLのメモリ関係のシステム変数 - 祈れ、そして働け ~ Ora et labora
  • MySQLのメモリ設定の勘所 – sawara.me

    MySQLサーバーをダウンさせた夜は数知れず。 その度にmy.cnfの設定を見なおしてみてはトライし、治ったと思いきや突然のダウン。 サーバーがダウンしてしまう原因は何かと聞かれれば、「メモリです」と断言しましょう。 メモリ設定は諸刃の剣。 パフォーマンスを最大に引き出すこともできればそれと引き換えにサーバーをダウンさせてしまうこともできるんです。 今回はMySQLのメモリの設定の勘所というかたちで紹介しようと思います。 グローバルバッファとスレッドバッファ メモリの設定についてまず「グローバルバッファ」と「スレッドバッファ」について理解しておくことが大事です。バッファとは一時的な記憶領域・つまりはメモリの領域のことなのですが。 グローバルバッファ MySQLで使用する全体的なメモリ使用量を計算するには グローバルバッファ + (スレッドバッファ × コネクション数) = メモリ使用量 と

    MySQLのメモリ設定の勘所 – sawara.me
  • MySQLチューニング

    スケールするSQLシステム勉強会での講演資料です。 <https://connpass.com/event/64558/>

    MySQLチューニング
  • 複数バージョンのMySQLをインストールして切り替える便利スクリプト·mysqlenv MOONGIFT

    mysqlenvは異なるバージョンのMySQLをインストールしたり切り替えられるインストーラーです。 最近プログラミング言語はrvmやnodebrewなどユーザ環境下でインストールできてバージョンの切り替えが簡単に行えるものが流行っています。そんな環境切り替えをMySQLでも行えるようにするのがmysqlenvです。 インストールします。 installコマンドで指定したバージョンのMySQLがインストールできます。 mysqlenvが対応しているのは3.23、4.0、4.1、5.0、5.1、5.5、5.6系となっています。特に5.5系はMariaDB、Percona、Twitterが選べるようになっていますので、それぞれのDBの特性をチェックするのに使えそうです。起動や停止、切り替えはコマンドから簡単にできます。 mysqlenvはBashスクリプト製のソフトウェア(ソースコードは公開さ

    複数バージョンのMySQLをインストールして切り替える便利スクリプト·mysqlenv MOONGIFT
  • http://www.mysqlpracticewiki.com/index.php/MySQL%E3%82%B5%E3%83%BC%E3%83%90%E3%81%8C%E6%B6%88%E8%B2%BB%E3%81%99%E3%82%8B%E3%83%A1%E3%83%A2%E3%83%AA

  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • mregexp - MySQLで日本語の正規表現を扱う

    更新日: $Date: 2006-09-29 09:21:22 $ UTC ($Revision: 1.10 $) 公開日: 2004/04/13 目的 今のところ(mysql 4.0.27, 5.0.24a)、MySQLのネイティブ関数REGEXPは日語の文字列を正しく処理できません (一方、LIKEやSUBSTRINGなどは日語の処理に対応しています)。そこで日語をきちんと扱える正規表現関数、mregexpというものをユーザー定義関数(UDF=User Defined Function)という仕組みを用いて作りました。 機能 パターン'あ.う'が文字列'あいう'にマッチしません。 正規表現の「.」が、任意の1文字ではなく、任意の1バイトにマッチしてしまうからです。 ● LIKEは期待通り「あいう」がマッチするが、 mysql> SELECT * FROM regexp_test

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • PEAR MDB2でPHPからデータベースを操作する

    はじめに PHPにはデータベースにアクセスする方法がいくつか用意されています。そのような方法の一つに、「PEAR MDB2」があります。名前の通りPEARのライブラリとして公開されています。PEARにはMDB2のほかに「DB」や「MDB」といったライブラリがあり、現在でも利用することができます。しかしながら、これらの開発はすでに終了しており、開発者はMDB2に移行することが推奨されています。 稿では、PEAR MDB2を使って、PHPからデータベースを操作する次のような基的な方法を紹介します。 PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQLSQLite等)に依存しないコードを書くことができる。 SQLの実行には、プリペアードステートメントを使うのが基である(例外あり)。 PHPにはPEAR MDB2の他にもデータベースへのアクセス手段が数多く用

    PEAR MDB2でPHPからデータベースを操作する
  • 情報処理推進機構:情報セキュリティ:脆弱性対策:安全なウェブサイトの作り方

    「安全なウェブサイトの作り方」は、IPAが届出(*1)を受けた脆弱性関連情報を基に、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、ウェブサイト開発者や運営者が適切なセキュリティを考慮したウェブサイトを作成するための資料です。 「安全なウェブサイトの作り方」改訂第7版の内容 第1章では、「ウェブアプリケーションのセキュリティ実装」として、SQLインジェクション 、OSコマンド・インジェクション やクロスサイト・スクリプティング 等11種類の脆弱性を取り上げ、それぞれの脆弱性で発生しうる脅威や特に注意が必要なウェブサイトの特徴等を解説し、脆弱性の原因そのものをなくす根的な解決策、攻撃による影響の低減を期待できる対策を示しています。 第2章では、「ウェブサイトの安全性向上のための取り組み」として、ウェブサーバの運用に関する対策やウェブサイトにおけるパスワードの取扱いに関す

    情報処理推進機構:情報セキュリティ:脆弱性対策:安全なウェブサイトの作り方
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

    「安全なSQLの呼び出し方」というSQLセキュリティに焦点を当てたドキュメントが、2010年3月にIPA(独立行政法人情報処理推進機構)から公開された。 これは2006年1月から提供されている、Webサイト開発者や運営者向けのセキュアWebサイト構築のための資料「安全なウェブサイトの作り方」の別冊として書かれたものである。「安全なウェブサイトの作り方」が92ページなのに対して、SQLインジェクションについてだけで40ページもの分量がある。なぜこんなに分厚いのだろうか。 このドキュメント作成に協力したという、独立行政法人産業技術総合研究所 情報セキュリティ研究センターの高木浩光氏にお話を伺うことができた。高木氏は個人ブログ「高木浩光@自宅の日記」で、セキュリティ関連の問題を追求する論客としても知られている。筆者も以前、この連載の「今夜わかるSQLインジェクション対策」の回(2006年11月

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • 【MySQL】大文字小文字、全角半角区別しないでマッチする検索をしたい at softelメモ

    問題 select * from member where namae like '%サトウ%'; こんなSQLで、namaeがサトウ、サトウ、さとう、サトウ(一部半角)何でもマッチさせたい! 答え では、これで。 select * from member where namae collate utf8_unicode_ci like '%サトウ%'; データベースがutf8でないときは、もうひとつ変換を入れて、 /* ERROR 1253: COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'ujis' など言われたら */ select * from member where convert(namae using utf8) collate utf8_unicode_ci like '%サトウ%'; 数字の全角/半

    【MySQL】大文字小文字、全角半角区別しないでマッチする検索をしたい at softelメモ
    itmst71
    itmst71 2012/01/08
    select * from member where namae collate utf8_unicode_ci like '%サトウ%';
  • データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築

    [root@centos ~]# vi /etc/my.cnf ← MySQL設定ファイル編集 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server = utf8 ← 追加(MySQLサーバーの文字コードをUTF-8にする) [root@centos ~]# /etc/rc.d/init.d/mysqld start ← MySQL起動 MySQL データベースを初期化中: Installing MySQL system tables... OK Filling he

  • 1