[Linux]MySQLのダンプファイルが大きすぎるのでテーブルごとに分割する

システムトラブルの原因を探るためにデータベースのバックアップを確認したい。
ダンプファイルから特定のテーブルだけ検証環境へインポートしたい。
しかしダンプファイルが数ギガバイトもある!

そんなときに便利なのがこのスクリプトです。
ダンプファイルをテーブルごとに分割してくれます。

split_dump.shとでも名付けて保存して、実行権限を与えましょう。
使い方は

例:

【MySQL】レンタルサーバーのMySQLがロックされたときの対処方法

レンタルサーバーのMySQLのロックを解除してほしいという依頼を受け対応したので備忘録として残します。

Xサーバーのレンタルサーバー上のMySQLで
複数のテーブルを紐づけたUPDATE文を実行したところ、
結果が返ってこず、対象のテーブルのデータを更新しようとすると

というエラーで更新できなくなったとのこと。
また、レンタルサーバーのMySQLを再起動する方法は用意されていないとのことで、ロックを解除する必要があります。

以下の手順でロックを解除しました。

1.サーバーにSSHで接続する

専用サーバーやVPSでなくてもSSH接続できるレンタルサーバーが増えています。
今回のサーバーは「Xサーバー」のレンタルサーバーですが、SSH接続が用意されていました。

2.コマンドでMySQLにログインする

でパスワードを入力してログインします。
対象のデータベースだけの権限を持っているユーザーでOKです。

3.データベースを選択する

4.プロセス一覧を表示する

実行中のプロセスが一覧で表示されますので、
ロックの原因となっているSQLの「Id」欄をメモします。

5.プロセスをkillする

以上です。

その後、適切にインデックスを追加したことで
ロックすることもなくなりました。

データベースを見たいがサーバーのコントロールパネルが触れないとき

システム開発案件で、DBの接続情報は知っているが
レンタルサーバーのコントロールパネルを触る権限がもらえないときがありました。

phpMyAdminが入っているのですが、見るためには
サーバーのコントロールパネル経由でしか見れないというものでした。

そんなときは
Adminer
を入れましょう。
もちろんクライアントの許可を得てから。

Adminer
https://www.adminer.org/

AdminerはPHPファイル1つで
phpMyAdminと同等の機能を持つデータベース管理ツールです。
DBへの接続情報がわかっていれば使い方に迷うことはないと思います。

【Linux】MySQLをバージョンアップしたらPostfixが消えた

先日MySQLをバージョンアップしたのですが、
何も考えず古いバージョンを

で削除しました。

その際にPostfixも一緒に削除されていたことに気づかず、
数日後にシステムのお問い合わせフォームが機能しないことから
調査した結果、

!?

PostfixはMySQLと関連があったのですね。
知りませんでした。

ありがたいことに設定ファイルはRPMが自動的にバックアップをとってくれていましたので
すぐに

でPostfixをインストールし、設定ファイルをリストアして事なきを得ました。

【MySQL】CentOS6のMySQL5.1をMySQL5.6にバージョンアップ

バージョンアップによってデータベースが消えることはないですが、
念のため全データベースをダンプしておきましょう。

現在のMySQLを削除

リポジトリ追加

インストール

起動するのを忘れずに。