データを解析する際にPerlとEnsembl APIを組み合わせて使用してみたいと考えております。システム構成としまして Macbook pro (SnowLeopard) Perl 5.13.9 (perlbrewでインストール済み) bioperl 1.6.1インストール済み MySQL5.5.8(64bit)をインストール済み(必要ないかもしれませんが) DBI はcpanでインストール済み まではうまくインストールができているようで、MySQLも起動できます。 次に必要となる DBD:mysql をcpanを用いまして、インストールしたいとと思うのですがエラーがでました。 そこで、DBD-mysql-4.018をソースでダウンロードして、makeするとやはり、cpanのときと同様に Argument "6.57_05" isn't numeric in numeric ge (>=
MySQL 5.1.4から標準でmysqlslapというベンチマークツールが追加されました。*1 例えば、20クライアントから計10万回のINSERT文を実行するベンチマークは、以下のように実行します。 $ mysqlslap --no-defaults -u root -p --concurrency=20 --iterations=1 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql --engine=innodb --auto-generate-sql-load-type=write --number-of-queries=100000 上記のコマンドでは、intカラムが2、varcharカラムが3なテーブルでベンチマークが実行されます。 結果は、以下のような感じで表示されます。 Benchmark Runnin
ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基本的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン
こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。 前回の記事 が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんばって第2弾を書いてしまいました。引き続き、ソーシャルゲームでよく使われるテーブルタイプ毎にちょっとしたテクニックを紹介していきます。 今回はちょっとライトな感じ&読み物になってしまっていますが「ユーザID単位で1つだけ持つデータ」と「パラメータなどのマスターデータ」についてご説明したいと思います。ちなみに次回はInnoDBのデータ構造の簡単な説明と複合プライマリーキーのデータについて、その次で紹介し損ねたちょっとマニアックなテクニックや性能管理のための手法を紹介することを予定しています。 その前に。。。 先日行われた JAPAN INNOVATION LEADERS SUMMIT で弊社松信が「ソーシャルゲームの
yumの自動アップデートでMySQLが5.0から5.1へアップデートされたのだけど、なぜかデータベースへアクセス出来ない不具合が。データベース名を確認してみると… mysql>show databases; +--------------------+ | Database | +--------------------+ | #mysql50#db_name | +--------------------+ あれ?データベース名の頭に「#mysql50#」なんてものが付いている…。調べてみると、どうやらデータベース名に「-」と半角ハイフンが入っている場合にそうなるみたい。 たとえば、MySQL 5.0 のデータベースの名前が a-b-c の場合、その名前には ‘-’ 文字のインスタンスが含まれています。5.0 では、データベースディレクトリにも a-b-c という名前が付けられますが、必
http://www-jp.mysql.com/why-mysql/white-papers/mysql-wp-whatsnew-mysql-55.php MySQL5.5 の新機能 - パフォーマンスとスケーラビリティによると Mこのホワイトペーパーでは、大幅に改善されたパフォーマンス、スケーラビリティ、 および、マルチプロセッシングハードウェア/ソフトウェア/ミドルウェアアーキテクチャ環境におけるユーザビリティなど・・・ Sysbenchベンチマークでは、Linux および Windows において、それぞれ370% および 540%のパフォーマンス向上が証明されました。 「大幅に改善されたパフォーマンス」とありますように是非試してみたいですよね。 現在FreeBSD上でMySQL5.1のバイナリー版を利用してるので5.5にバージョンアップしてみようと思います。 ■現在のインストール先
2. 自己紹介 MySQL/Linux周りのスペシャリスト 2006年9月から2010年8月までMySQL本家(MySQL/Sun/Oracle)で APAC/US圏のMySQLコンサルティングに従事 主な著書に「現場で使えるMySQL」「Linux-DBシステム構築/ 運用入門」「Javaデータアクセス実践講座」 DeNAでの主な役割 安定化/パフォーマンス/運用周りの中長期的な改善活動 L3サポート/運用/トラブルシューティング – 難度の高いMySQL周りの問題の根本原因の特定と解決 多くのプロジェクト支援 社内勉強会/トレーニング – MySQLやデータベース周りのベストプラクティスを社内で共有し、 技術スキルを底上げする 技術マーケティング – 国内外のカンファレンスや、技術雑誌等
MySQL 5.5.3-m3 ではたくさんのオプションやコマンドなどが廃止となりました。もともと非推奨(obsolete)されていたものですが手に馴染んでいたものも多く、しばらくは使いながら混乱することでしょう。 ひとつ前の日記で宣言したとおり、以下に変更点を整理しておきます。情報量としては基本的にリリースノートと同じです(リリースノートの抜き書きです)が、こちらのほうが少しは見やすくなっているかな、、、見やすくなっていたらいいな、、、と思います。 廃止されるシステム変数 代わりに使う変数 log_bin_trust_routine_creators log_bin_trust_function_creators myisam_max_extra_sort_file_size - record_buffer read_buffer_size sql_log_update - table_t
今年も残すところあとわずかとなった。2010年もIT業界にとっては変化の多い一年だったが、皆さんにとっては良い年だっただろうか?既に何度かMySQL 5.5の新機能については取り上げたが、ついに正式版がリリースされたということでここで改めて新機能を解説し、今年最後のエントリを締めくくろうと思う。 MySQL 5.5にはこれでもかっ!というぐらい新機能が追加されている。しかもいずれもナイスなものばかりだ。一般的には、ソフトウェアに新機能が追加されると重くなったり安定性が低下する事例が後を絶たないのだが、MySQL 5.5に関してはそのようなことは全くないので安心して利用して頂きたい! InnoDBの大幅な改善種々ある改善点の中でも特に目をひくのがInnoDBストレージエンジンへの改良だ。実は、InnoDBはMySQL 5.1が最初にリリースされたときから、2回アップデートが行われている。My
前回書いたMySQLパフォーマンスチューニングのためのインデックスの基礎知識に引き続き、MySQLのパフォーマンスチューニングについて学んだことをまとめ。 MySQLを使っていると、クエリが遅い理由をつきとめる必要が出てくる。 どうやって遅いクエリをつきとめ、改善すればよいかについて学んだのでまとめた。 下記のような基礎知識があればパフォーマンスチューニングをうまくやれる、と思う。 クエリ処理の基礎 MySQLがクエリを処理する手順 まずはMySQLがクエリを処理する手順を知っておく必要がある。 処理は以下のような流れで進む。 クエリキャッシュの中からクエリの結果を探す。見つかればそれを返す。 クエリを解析して構成要素に分解する。 クエリの構文が正しいことを確認 クエリについて基本情報を収集する。 クエリを基本的な要素に分解した後、何を実行すべきかを判断する。 クエリオプティマイザが動き始
こんにちは、hiroshiです。おひさしぶりですね。 stoneが書いたhadoopの記事が打ち合わせとかで「見ましたよ。評判ですよ。」とか言われてジェラシーいっぱいです。 僕もがんばります。目指せホッテントり! といっても、僕だと書けることに限界があるので、今日は半定常作業のMySQLの増設作業について書こうと思います。 下図のように、master1台←slave2台がLVS+keepalivedで負荷分散構成されているDBがあるとします。 この構成の組み方にしようかと思ったのですが、これはググったらいっぱいあったのでホッテントリは狙えないと思ってやめました。 なので、今回のテーマは「このテーブルはwriteは余裕だけどreadがきつくなってきたからslaveを増設しなければ!」となった場合のslaveを増設する手順について書いてみます。 下図のslaveCを追加するぞ!の場合です。 ※
Linux に MySQL をインストールする場合は、RPM パッケージを使用することをお勧めします。MySQL RPM は、現在、SuSE Linux 7.3 システム上でビルドされていますが、rpm をサポートし glibc を使用するほとんどのバージョンの Linux 上で動作します。 RPM ファイルに関する問題が発生した場合(たとえば、``Sorry, the host 'xxxx' could not be looked up'' というエラーが表示された場合)は、項2.6.2.1. 「Linux の注意事項 (バイナリディストリビューション)」 を参照してください。 ほとんどの場合、MySQL-server パッケージと MySQL-client パッケージをインストールするだけで済みます。最小インストールの場合は、その他のパッケージは必要ありません。 追加機能を備えた My
MySQL サーバーへの接続を試行したときに問題が発生した場合に問題を修正するために実行できる一連のアクションについて、次の項目で説明します。 サーバーが実行中であることを確認します。そうでない場合、クライアントは接続できません。たとえば、サーバーに接続しようとして次のいずれかのようなメッセージで失敗した場合、サーバーが実行中でないことが 1 つの原因であることがあります。 shell> mysql ERROR 2003: Can't connect to MySQL server on 'host_name' (111) shell> mysql ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) サーバーは実行しているが、サーバーが待機しているのと異なる TCP/I
MySQL を Unix にインストールしたら、グラント テーブルを初期化し、サーバを起動し、サーバが期待通りに動作しているか確認します。サーバをシステムの起動、停止と共に自動的に起動あるいは停止させることもできます。グラント テーブルのアカウントにパスワードを割り当てることもできます。 Unix では、グラント テーブルは mysql_install_db プログラムで設定します。インストールの仕方によっては、このプログラムを自動的に実行することができます。 MySQL を Linux に RPM ディストリビューションを使用してインストールする場合、サーバの RPM が mysql_install_db を実行します。 MySQL を Mac OS X に PKG ディストリビューションを使用してインストールする場合、インストーラが mysql_install_db を実行します。 そ
MySQL のインストールプロセスには、MySQL アカウントを定義する mysql システムスキーマの付与テーブルを含む、データディレクトリの初期化が含まれます。 詳細は、セクション2.10.1「データディレクトリの初期化」を参照してください。 このセクションでは、MySQL のインストール手順中に作成された初期 root アカウントにパスワードを割り当てる方法について説明します (まだ行っていない場合)。 Windows では、MySQL Installer を使用したインストール中にこのプロセスを実行できます (セクション2.3.3「MySQL Installer for Windows」 を参照)。 すべてのプラットフォームで、MySQL 配布には、MySQL インストールをセキュアにするプロセスの大部分を自動化するコマンド行ユーティリティー mysql_secure_instal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く