warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

Linux に、phpMyAdmin 2.10.1 をインストールする方法

簡単にいうと、「scripts/setup.php 実行後、config/config.inc.php を ./ にコピーして、 .htaccess を設定」 すればよい。 ※Fedora Core 6 で phpMyAdmin を Fedora Core OS 自体のインストール時、またはパッケージマネージャ(ソフトウェアの追加・削除)からインストールした人は、phpMyAdmin は /usr/share/phpMyAdmin にインストールされ、https://127.0.0.1/phpMyAdmin/ からアクセスできる。ここで、ブラウザから基本認証でユーザー名とパスワードを聞かれてくるから、ユーザー名 root、パスワードなしでアクセスする。
簡単にいうと、「scripts/setup.php 実行後、config/config.inc.php を ./ にコピーして、 .htaccess を設定」 すればよい。 ※Fedora Core 6 で phpMyAdmin を Fedora Core OS 自体のインストール時、またはパッケージマネージャ(ソフトウェアの追加・削除)からインストールした人は、phpMyAdmin は /usr/share/phpMyAdmin にインストールされ、https://127.0.0.1/phpMyAdmin/ からアクセスできる。ここで、ブラウザから基本認証でユーザー名とパスワードを聞かれてくるから、ユーザー名 root、パスワードなしでアクセスする。

Fedora Core 6 で、パッケージマネージャで追加した phpMyAdmin を使う。

Fedora Core 6 のパッケージマネージャで phpMyAdmin を追加しても、localhost からしかアクセスできないので注意する。以下は必要情報。
  • phpMyAdmin がインストールされるディレクトリ: /usr/share/phpMyAdmin
  • アクセス URL: https://127.0.0.1/phpMyAdmin/
  • パスワード: MySQL のユーザー名とパスワード
  • localhost 以外からアクセスできるようにしたいときは、phpMyAdmin.conf の セクションを以下のように修正する。
    <Directory /usr/share/phpMyAdmin/>
       order deny,allow
    #   deny from all ←コメントアウト
    #   allow from 127.0.0.1 ←コメントアウト
       allow from all # ←すべてのマシンからアクセス可能にしてしまえ!
    </Directory>
Fedora Core 6 のパッケージマネージャで phpMyAdmin を追加しても、localhost からしかアクセスできないので注意する。以下は必要情報。
  • phpMyAdmin がインストールされるディレクトリ: /usr/share/phpMyAdmin
  • アクセス URL: https://127.0.0.1/phpMyAdmin/
  • パスワード: MySQL のユーザー名とパスワード
  • localhost 以外からアクセスできるようにしたいときは、phpMyAdmin.conf の セクションを以下のように修正する。
    <Directory /usr/share/phpMyAdmin/>
       order deny,allow
    #   deny from all ←コメントアウト
    #   allow from 127.0.0.1 ←コメントアウト
       allow from all # ←すべてのマシンからアクセス可能にしてしまえ!
    </Directory>

MySQL で、キャラクタセットを指定してデータベースをインポートする方法

MySQL で、データベースをテキストデータにエクスポート(バックアップ)する方法は、mysqldump コマンドを使えばよい。以下のようにする。
# mysqldump -u root -p your_database_name > your_database_name.sql
さて、これを元に戻すときに、
# mysql -u root -p your_database_name < your_database_name.sql

※ your_database_name というデータベースの中身は空であること。
のようにすれば簡単にインポートできるのだが、エクスポート/インポートするそれぞれのマシンで違う設定の MySQL が動いていたりすると、インポートしてみたらデータが文字化けしてた・・・なんてことが実際にあった。
MySQL で、データベースをテキストデータにエクスポート(バックアップ)する方法は、mysqldump コマンドを使えばよい。以下のようにする。
# mysqldump -u root -p your_database_name > your_database_name.sql
さて、これを元に戻すときに、
# mysql -u root -p your_database_name < your_database_name.sql

※ your_database_name というデータベースの中身は空であること。
のようにすれば簡単にインポートできるのだが、エクスポート/インポートするそれぞれのマシンで違う設定の MySQL が動いていたりすると、インポートしてみたらデータが文字化けしてた・・・なんてことが実際にあった。

MySQL で、重複レコードを削除する。

重複レコードをSQLデータベースから一括削除:(Nucleusの使い方) にその方法が紹介されている。
  1. 対象のテーブルから重複レコードを除いて新しいテーブルにすべてのレコードを重複なしで書き出す
  2. もとのテーブルを削除
  3. 新しいテーブル名を変更
これはあまりスマートな方法を思えなかったので、他に方法はないか、あちこち探し回ってみたものの、うまい方法が見つからなかった。 SQL 文としては、以下のようになる。field_1、field_2(増やしてもよい)は、重複に関係するフィールドである。
CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2;
DROP TABLE main_table;
ALTER TABLE temp_table RENAME TO main_table;
重複レコードをSQLデータベースから一括削除:(Nucleusの使い方) にその方法が紹介されている。
  1. 対象のテーブルから重複レコードを除いて新しいテーブルにすべてのレコードを重複なしで書き出す
  2. もとのテーブルを削除
  3. 新しいテーブル名を変更
これはあまりスマートな方法を思えなかったので、他に方法はないか、あちこち探し回ってみたものの、うまい方法が見つからなかった。 SQL 文としては、以下のようになる。field_1、field_2(増やしてもよい)は、重複に関係するフィールドである。
CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2;
DROP TABLE main_table;
ALTER TABLE temp_table RENAME TO main_table;