ホーム > MySQL
MySQLのアーカイブ
MySQL5.5.16の起動エラーとyum update
管理しているサーバのMySQLが停止して監視システムからのメールが届き始めた。
思い当たることがなく慌ててサーバに接続して確認してみたが、メモリーが不足したり、アクセスが過大になったような形跡はなかった。MySQLを再起動してみても失敗と表示されるだけで起動できない。何度か試行錯誤しているうちに原因がyumの自動アップデートではないかと思い当たった。MySQLの起動時のメッセージか2点を修正すれば動作すると予測した。
エラーメッセージの原因は以下の2点。
1. MySQL5.5.16では、利用できないオプション名をmy.cnfで使っている
2. データ側のアップグレードが必要
項目1は、エラーメッセージに従い下記のように修正した。
default-character-set=utf8 ↓↓↓ character-set-server=utf8 record_buffer ↓↓↓ read_buffer_size
その他、詳細はこのページで確認できます。
http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html
mysql_upgrade -p
mysqlのrootのパスワードで実行すると正しくチェックを行いエラーは表示されなくなった。
この方法で複数台を修正した。
最後に1台だけyumのアップデートが途中で停止するサーバがあった。
管理しているサーバの中では一番古いので、ファイル構成などが違っているようだ。
エラーの出るレポジトリが存在していたので、正常なサーバと見比べて不要だと確認してファイルを削除した。
その後、以下のコマンドを実行して
yum clean all yum repolist yum -y update
アップデートすると、更新されていなかった208ファイルをダウンロードして更新できた。
- コメント(閉): 0
- トラックバック: 0
Plesk MySQLへ管理者権限で接続
使えるネットのVPSで使用されているMySQLに管理者権限でアクセスしたい思ったが、パスワードがわからず困っていた。探してみるとこのパスワードでアクセスできた。
cat /etc/psa/.psa.shadow
sshで接続してこれを実行すると確認できる。
下記のようにしてMySQLに管理者権限でアクセスできた。
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
osCommerceを軽快に2 テーブル分割
- 2009/8/21 金曜日 2:35:14
- MySQL | osCommerce
注文管理関連のテーブルは、何年もサイトを運営していると何十万件というデータが保存されることになる。1つのテーブルに大量のデータが保管されると、新規データの登録時に時間がかかる。そこで、テーブルを分割するというアイデアが浮かんでくるが、テーブルの分割をプログラム側で対応すると、手間がかかりすぎるし、切り替え時にサーバを止めるタイミングも難しい。
実は、MySQLにはこのような状況に対応するためのMERGEテーブルというものがある。データが多くなったらMERGEテーブルとUNIONで既存のテーブルと新規のテーブルを1つのテーブルとして扱うようにすればいい。検索を実行するときは新旧テーブル全体を対象にして、データを登録するときは新しいテーブルを対象にできるなど、非常に都合がいい。テーブルの作り方を工夫すると連番も前のテーブルを自動的に引き継ぐのでさらに安心だ。
お客様のサーバで複数のテーブルを分割したが、osCommerceを稼働させたまま瞬時に作業を終わることができた。
ただし、準備に時間はかかった。
http://dev.mysql.com/doc/refman/4.1/ja/merge.html
ホーム > MySQL
- フィード
- メタ情報
