人気記事

広告

記事検索

MOVION.netについて

WEB技術に関することや、気になるWEBサイトなどについて個人的なメモを残すためのブログです。

その他運営サイト

かかわっているサイト

2010年02月23日(火)

[mysql]ERROR 1010 (HY000): Error dropping database

mysqlに作成したデータベースが削除出来ないときがあった。

  1. mysql> DROP DATABASE testdb;
  2. ERROR 1010 (HY000): Error dropping DATABASE (can‘t rmdir ‘./testdb/‘, errno: 17)

どうやら、INTO OUTFILE でディレクトリを指定せずファイルを出力したときがありそのファイルが残っているため削除できないようだった。

  1. rm -rf /var/lib/mysql/testdb

で、ディレクトリごと削除。

  1. SHOW DATABASE;

で、DBが削除されていることを確認。

MySQL | 2010年02月23日(火) | コメント(0) | トラックバック(0)
2008年04月18日(金)

MySQL,PostgreSQLのよく利用する確認操作

〇データベース一覧を確認する
MySQL

  1. SHOW DATABASES;

PostgreSQL
※シェルで実行

  1. psql -l

〇 接続しているデータベースのテーブル一覧を確認する
MySQL

  1. SHOW TABLES;

PostgreSQL

  1. \z

〇テーブル(items)のカラムを確認する
MySQL

  1. DESC items;

PostgreSQL

  1. \d items

〇実行されているプロセス一覧を確認する
MySQL

  1. SHOW PROCESSLIST;

PostgreSQL

  1. SELECT * FROM pg_stat_activity;

〇文字コードを確認する
MySQL

  1. SHOW VARIABLES LIKE "char%";

PostgreSQL
※シェルで実行

  1. psql -l

で、確認してください。

2008年04月16日(水)

カラムを変更したPostgreSQLのエクスポートデータをMySQLにインポートする(その2)

では、 status_flagカラムが追加される場合ですが、もともとあるカラムがなくなる場合はちょっと面倒なので、以下はその1つの方法です。

PostgreSQL

  1. CREATE TABLE items (
  2. item_id SERIAL PRIMARY KEY,
  3. name VARCHAR(50),
  4. price INTEGER,
  5. color VARCHAR(20),
  6. createtime timestamp NOT NULL DEFAULT current_timestamp,
  7. delete_flag CHAR(1)
  8. );

MySQL
status_flagカラムを追加し、colorカラムは削除したいものとします。

  1. CREATE TABLE items (
  2. item_id INTEGER NOT NULL AUTO_INCREMENT,
  3. name VARCHAR(50),
  4. price INTEGER,
  5. status_flag INTEGER,
  6. createtime DATEMTIME
  7. delete_flag CHAR(1)
  8. );

どのタイミングでカラムを削除するか、まあどこでも出来るわけですが、
個人的に手っ取り早いかなぁと思う手順です。

PostgreSQLで、テーブル定義を変更しちゃったほうがよさそうなので、加工用でデータベースを作成。

  1. su postgres
  2. createdb sampledb_tmp
  3. pg_dump sampledb > sampledb.20080416.dump
  4. cat sampledb.20080416.dump | psql sampledb_tmp
  5. psql sampledb_tmp

で、テーブルのカラム構成を変更したテーブル(items_tmp)を作成。

  1. SELECT item_id,name,price,NULL AS status_flag,createtime,delete_flag INTO TABLE items_tmp FROM items;

そして後はエクスポート

  1. COPY items_tmp TO ‘/home/postgres/items.tsv’;

次に、MySQLでインポート。

  1. su takahashi
  2. mysql -u root -p sampledb
  3. —-
  4. mysql>LOAD DATA INFILE "/home/postgres/items.tsv" INTO TABLE items FIELDS TERMINATED BY \t;
  5. —-
2008年04月6日(日)

eclipseのDBモデリングツールclay

eclipseのデータベースモデリングツールclay

http://www.azzurri.co.jp/clay/index.jsp

clay01.jpg

無償版(Core Edition)と有償版(Pro Edition)があります。
有償版は、商用DBへの対応や、DB定義書出力、ダイアグラムが印刷などが可能になるみたい。

eclipse内でちゃちゃっと、DBのモデリングをして、SQL文を出力出来るので、個人的に利用してます。
リバースエンジニアリングしたりするには、JDBCドライバが必要。

おっと、あとGEF(ソフトウェアアップデートからインストール出来ると思うけど)も必要です。

ダイアグラムがIDEF1X表記でもIE表記でもないので、
ちょっと残念ですが、個人的に使うには十分です。

clay02.jpg

SQL文生成の際のオプションもいろいろあるし、
もちろん、インデックスも個別に編集出来るので、ある程度は好みの感じでSQL文が作れるのではないでしょうか。

2008年03月24日(月)

MySQLクエリキャッシュの削除

  1. RESET QUERY CACHE;

でクエリキャッシュを削除。
クエリキャッシュのステータス確認は、

  1. SHOW STATUS LIKE ‘%Qcache%’;

http://dev.mysql.com/doc/refman/4.1/ja/query-cache-status-and-maintenance.html

MySQL | 2008年03月24日(月) | コメント(1) | トラックバック(0)