今さら「MySQLが起動しない」エラー対処
時代はNoSQLに移りつつあるこのご時世に今さらこんなネタもアレだが、、、。久しぶりにMySQLをインストール〜起動なんちゅうことをやったら何を今さら、なミスをやらかした。
時代はNoSQLに移りつつあるこのご時世に今さらこんなネタもアレだが、、、。久しぶりにMySQLをインストール〜起動なんちゅうことをやったら何を今さら、なミスをやらかした。
MySQLレプリケーション。IOスレッドエラーでマスタースレーブ間のコネクションが成立しない。以下、切り分けメモ。error.logには手がかり無し。telnetはOK。スレーブからマスタへレプリケーションユーザで接続を試みると、”Too many connections”が表示され、NG。
久しぶりなMySQLネタ。停止していたレプリケーションを再開するためCHANGE MASTER TOを実行、SLAVE STARTで再開させようとしたら、こんなエラーが。Client requested master to start replication from impossible position.
普段は見えないはずのMySQLテンポラリファイルが見えるケースがある。
例えば/tmp配下に#sql_nnnn_n.MYD 、#sql_nnnn_n.MYI (nはランダム?な数字)形式の巨大なファイルがいきなり出来ていたら、「ひょっとしてこいつが・・・」である。
InnoDBのステータスを確認するには、SHOW ENGINE INNODB STATUS¥Gコマンドの他にInnoDB モニタという機能があるんだそうだ。専用のテーブルを作成しておくと、err.logに15秒毎に出力してくれるらしい。
MySQLの各種ステータス確認のメモは以前の投稿にも書いたが、その中のひとつ、”status”コマンドについて。Threads: MySQLが使用しているスレッド数 など。
Nagiosプラグインに標準で入っているcheck_mysqlとcheck_mysql_queryについて。いまいち踏み込んだ監視内容がわからなかったので、少し調べてみた。
前回NagiosでMySQL監視をするための設定をざっくり書いてみたが、その一歩先に進んでみる。(お断り:この記事はほとんど「ひとり言」なので参考にならないと思います。。)
オープンソースの監視ツール、NagiosでMySQLを監視するには。Nagios本体のインストールの他に、リモートホストを監視するにはNRPE(Nagios Remote Plugin Executor)も導入する必要がある。
MySQLレプリケーションの実装にあたってはバイナリログの存在が不可欠。そしてスレーブ側マシンにおいてはリレーログが不可欠である。レプリケーションの処理におけるバイナリログとリレーログの相関について、今一度まとめてみた。
MySQLレプリケーション設定時に発生したエラー、”Error: 2005″についてメモ。
MySQLレプリケーション 1062エラーの、簡単そうで意外と悩ましい対処。スキップしたいレコード数がすぐに判別できるればよいのだが、そうでない場合の対応は難しそうだ。
MySQLレプリケーションにおいて発行するコマンド、RESET MASTERとRESET SLAVE、それぞれの動作についてまとめておく。RESET MASTERはスレーブがマスタに昇格するフェイルオーバー時に発行する。これにより、スレーブはマスタのバイナリログを読みに行くのをストップする。
MySQLの機能のひとつ、AUTOCOMMIT(オートコミット)が有効/無効でどのように挙動が変わるのか、今イチ理解できていない。やっぱり、一回書いておかないと。AUTOCOMMIT(オートコミット)を有効にするか無効にするかにより、トランザクションの開始/終了の方法が変化する。
MySQLとJavaの連携について、「基本中の基本」をまとめてみた。Connector/J – MySQL接続時注意点なども。
MySQLのSQL文を、OSのコマンドラインまたはシェルスクリプトから実行したい時の例を、いくつか。まずコマンドラインからサクッと実行するには、-eオプションを利用。
MySQLログイン時のプロンプトを変更できることを、最近知った。しかも方法が4つほどあるので、全部書いておこう。例えば、稼働中にpromptでセットするには。
MySQLのリカバリ時に、特定の時刻までの状態に復旧したい場合。バイナリログ適用時、–stop-datetimeオプションにより特定の時刻までのログを適用させることができる。
MySQLにlog-bin-trust-function-creatorsというパラメータがあることを知ったので、関連するストアドファンクションの話も絡めてまとめてみた。ストアドファンクションはストアドプロシージャに構文が似ており、通常のSQL文に含めて使用できる。
MySQLにパーティショニングという機能があることを最近知った。調べても正直ついていけてないが、いつか利用することもあるかもしれないのでまとめておく。パーティショニングとはテーブルを分割して性能を向上させるための技術で、MySQL5.1以降実装された。