テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn
サーバが稼動して1ヶ月くらい経ったころ、 急にMySQLに接続できなくなってあせりました。 調べると、MySQLへの接続数がサーバ設定値に到達しており、接続ができない状態になっていました。 なんで接続が増えたのか原因を調べると 「MySQLがアクセスしてくるクライアントのIPアドレスのDNSの逆引きをやっているらしく、逆引きができないときに「unauthenticated user」が溢れるという事象が起こる」とのこと。(「unauthenticated user」が溢れた。 – お仕事日記。) 自サバでこの状況が起こっているか確認してみる。 現状、MySQLは最大接続数に達しているため、アクセスできないので とりあえず、 接続要求するスクリプトをいったん止めて、 最大接続数を一時的に増やし、MySQL再起動。
KennyQi PHP Blog Linux、PHP、Perl、Ajax、MySQLでのWeb開発やWordPressの設定メモと息抜きブログ いい記事があったのでメモしておきます。 MySQLでキャッシュ、 画像を別サーバへ移す、 トップページの表示コンテンツ変更、 Apacheの設定変更、 で待ち行列が格段に減ったとのこと。 数年前の記事ですが、いつか役に立つと思いメモしておきます。 GIGAZINEのLoadAverageを「27」から「2」へ下げた方法 GIGAZINE最大の挑戦、LoadAverage「86」から「3」へ 上記ページで先述のチューニングをした結果をレポートしてくれています。 読んでメモしておこうと思ったのが、以下。 サーバ構築時にとりあえず、これはしておけ的なApacheの設定 Apacheパフォーマンス・チューニングの実践 使っていないモジュー
Amazon EC2を使うことになりLAMP環境セットアップしました。 そのときのメモ。 サーバ時間を日本時間にして、 sudoでrootになればあとはいつもと同じです。 AmazonEC2にSSHでログインします。 とりあえず、最新環境にアップデート sudo yum update 時間が世界標準時なので日本時間にします。 sudo su - cp -i /usr/share/zoneinfo/Japan /etc/localtime date MySQLをインストールしてからApache、PHPと使いそうなライブラリをインストール yum install mysql-server yum -y install httpd php php-pear php-mysql php-mbstring php-gd php-mcrypt php-pecl-apc MySQLの設定とサーバ起
MySQLを5.5にバージョンアップしました。 MySQLを起動すると、 Faildに!!!! ログを調べてみたら「default-character-set」ってオプションて何?みたいなのが出てました。。 で、調べたら解決しましたのでメモ。 [mysql]MySQL 5.5.3-m3, 5.5.4-m3 同時リリース ここに書いてあるとおり、MySQLサーバのほうは 「default-character-set」というオプションが廃止されて、 「character-set-server」になった模様。 で、下記のようにmy.cnfを修正してMySQLを起動したら無事に再起動できました。 # vi /etc/my.cnf # default-character-set=utf8 ←ここはコメントアウト character-set-server=utf8 # ここを追加 ちなみ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く