【当ブログではアフィリエイト広告を利用しています】

[MySQL] コマンドを使ってデータベース内のテーブルを一括で削除する方法

MySQLでは、複数のテーブルを指定して削除することはできても、テーブル名を指定しないで一括削除する命令はありません。mysql コマンドを使って「show tables」で取得したテーブルの一覧から繰り返し「drop table」を発行する方法で実現することができます。具体的には下記のようなコマンドで、特定のデータベース内のテーブルを一括削除することができます。[sourcecode language="bash"]

続きを読む

[MySQL] SQL文でランダム取得する(RAND)

PHP等でデータをランダムに表示させたいというケースがしばしばありますが、元データをデータベースから取得している場合では、取得するSQL文を変更してランダムにデータを取得する方がデータを取得後にプログラムで配列を乱数取得して表示させるより安全且つ高速です。ここでは最近よく使われるMySQLを例にしていますが、PostgreSQLでも互換性のある記述です。[sourcecode language="sql"]SELECT * FROM table_name ORDER BY RAND() LIMIT 20;

続きを読む

[MySQL] root のパスワード忘れで困った時のパスワードリセット方法

MySQL を利用していてプログラムで利用するアカウント情報はわかるが root のパスワードがわからなくなってしまい、新しいデータベースも作れなくなってしまったなどのトラブルに役立つ情報です。サーバー側のコントロールパネル等でリセットできる場合も多々あると思いますので、VPS等の手動でセットアップしたサーバーでの対処方法と思ってください。当然ですが、セキュリティ上、サーバーの管理者(root)アカウントでログインできることが前提条件です。(バックアップ&再インストールすれば解決できるのを楽しましょうという内容です)

続きを読む

[MySQL] 「データベースに接続できません」の対策でパフォーマンスチューニング(max_connections、wait_timeout)

WordPress 等の MySQL を利用しているサイトでは、アクセス数が多くなると「データベースに接続できません」のエラーが発生することがあります。これは、MySQLへの同時接続数がオーバーしたことでも発生します。※もちろん全てがこの原因ではないですよ。これに対応するために、MySQLのチューニングを行いましょう。

続きを読む

[MySQL] ERROR 1044 (42000): Access denied for user ‘root’@’%’ to database …で権限を付加できない。

ちょっとしたミスで起きる内容です。外部サーバーからアクセスするために、任意ホストからの root アカウントを作成するコマンドで「with grant option」を付けないことで発生します。[sourcecode language="sql"]grant all privileges on *.* to root@"%";

続きを読む

[MySQL] テーブル名等での大文字小文字の区別

Windows版のMySQLでは標準で大文字小文字の区別はされません。例えば、大文字のテーブル名でSQL文を発行しても強制的に小文字のテーブル名で作成されてしまいます。これはMySQLの以下の設定がWindows版の初期値と違っていることが原因です。[sourcecode language="csharp"]

続きを読む

[WordPress] WP-DBManagerでバックアップが動かない

あるホスティングで「WP-DBManager」のバックアップが動かない現状に遭遇したので調査してみました。WordPress:バージョン 3.1WP-DBManager:バージョン 2.60「Database Failed To Backup On … Backup File Size Is 0KB」で設定した場所に0Byteのファイルはできている。

続きを読む