MacPortsを使ってMacにMySQLをインストールして、MySQLが自動起動するようにした場合 my.cnf を書き換えたりした際に、どうやって再起動したらいいのかよくわからなかったので調べた。 こうするといいようだ。 $ sudo launchctl stop org.macports.mysql5 $ sudo launchctl start org.macports.mysql5 自分向けにメモメモ
MacOSX Tigerでmacportsでperlを入れて、CPANでDBD::mysqlを入れようとするとmakeのテストが失敗する件についてのメモ。こちらを参考に解決した。 まあ動かないのも当然のこと、ローカルではmysqlサーバは動いてない。リモートサーバーで動いているmysqlでテストしたいので、サーバー上に適当にcreate database & grant してからMakefile.PLで接続情報を指定してやる: cd ~/.cpan/build/DBD-mysql-4.006 sudo perl Makefile.PL --cflags="-I/opt/local/include/mysql5/mysql" \ --libs="-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/
新年の大掃除という事でサーバのログアラートを眺めていたら、 mysql から innoDB 関連の以下のようなエラーがみつかったので修正する事に。 100101 2:50:34 InnoDB: ERROR: the age of the last checkpoint is 9433664, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row. エラー発生時間から大体何が起きたのか把握できたので、 innodb_log_f
MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner」 このツールのCentOS5.3へのインストールを実施してみます。 「MySQLTuner」のインストールから、使用方法を紹介します。 このツールはMySQLを診断し、設定値をどのように書き換えたらいいか教えてくれます。 (全部これに頼るというよりは参考程度のようですので、注意が必要です) インストールは簡単。 任意のディレクトリにスクリプトをダウンロードし、実行権限を与えるだけです。 # ./mysqltuner.pl >> MySQLTuner 1.0.0 - Major Hayden <major @mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--hel
久しぶりの技術メモ MySQLでutf8を指定するときに、 (たぶん)一般的には以下の2つのうちいずれかを用いると思います。 ・utf8-general-ci(デフォルト) ・utf8-unicode-ci で、今回のメモで残したいことは、 このとき、日本語を使うなら必ず ・utf8-general-ci を使いましょうってこと。 なんで、こんなメモを残すかというと、 それぞれのキャラクタセットの違いは、 ・utf8-general-ci:比較条件の拡張なし ・utf8-unicode-ci:比較条件の拡張あり のみなんで、MySQLの公式では、 utf8-unicode-ciを使いましょうみたいなことが書いてありますので、 「じゃぁ・・・」、ということで、 ローカルの環境(windows)でutf8-unicode-ciを設定したら、 ひらがなの「ほ」で条件を指定したのに、 「ぼ」や「ボ
以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ
Rails 作成したページにアクセスするとコンソールにMySQL libraryのワーニングが出力される件が解決した。 開発環境 Mac OS X 10.5.4 Leopard Rails 2.1.0 ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0] ワーニングの内容 WARNING: You're using the Ruby-based MySQL library that ships with Rails. This library is not suited for production. Please install the C-based MySQL library instead (gem install mysql).C-based MySQL libraryをインストールしろということなのでインストー
MySQL株式会社とサン・マイクロシステムズ株式会社(以下、サン)は4月9日、「MySQL Enterprise」、「MySQL Cluster」および各OEM製品について、日本語による製品サポートとナレッジベースの提供を本日より開始したことを発表した。あわせて、MySQL Enterpriseのサーバー監視ツール「MySQL Enterprise Monitor」の日本語版も本日より提供開始した。 MySQLとサンは、2月に本社統合を完了し、オープンソースの企業レベルでの利用促進に力を注いでいるが、今回のMySQLデータベースの日本語環境大幅強化もその一環となる。これによって、日本市場においても積極的に企業レベルでのオープンソース市場の拡大を図っていく。 サン代表取締役社長の末次朝彦氏は、オープンソースへの取り組み、およびMySQLの事業展開について、「当社は幅広い領域でオープンソースビ
Web アプリで permalink 付けたり、なんかあといろいろ検索とかやってみたいよねという話になったので、まずはログを取る子から。Log::Channel をコピって作ってて、現状 PRIVMSG と NOTIFY しかログをとってない。今実際に動かしていて、まあまあそれなりおkな感じでログられている。 package Log::DBI; use strict; use warnings; use IO::File; use File::Spec; use Tiarra::Encoding; use base qw(Module); use Module::Use qw(Tools::DateConvert Log::Logger Log::Writer); use Tools::DateConvert; use Log::Logger; use Log::Writer; use C
集約演算を行うケースでは、行のサイズを小さく保つことはとても重要。アクセス頻度が低いコラムは別テーブルに追い出すとかしたほうがいいくらい。 一方、集約演算を行わないケース (単一行の insert, update 等を含む) の場合は、(クライアントとの通信のための) システムコールがオーバーヘッドになるので、小さなテーブルにたくさんアクセスをするよりも、長い行を持つテーブルに1回アクセスするほうが良い。 たとえば手元の環境での insert on duplicate key update の速度は、 行のサイズ 必要時間 0KB 1 3KB 4 6KB 7 9KB 13 12KB 13 とかそんな感じ (環境やクエリによる変わるので自分で測定してね。9KB の速度低下はページサイズの1/2を超えたからかな)。つまり、行のサイズが1KB程度だと、通信のオーバーヘッドが大きいからあまり問題に
追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i386) using readline 4.3 Connection id: 36 Current database: staff2006 Current user: maiha@localhost SSL: Not in use Current pager: lv Using outfile: '' Using delimiter: ; Server version: 4.1.20 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client char
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く