ユーザ用ツール

サイト用ツール


技術メモ:mysql

MySQL

コマンド覚書

  • ログイン
    mysql -u <username> -p[password] [database]
  • データベース一覧
    show databases;
  • 選択しているデータベース
    select database();
  • データベースの選択
    use <database>;
  • テーブル一覧
    show tables;
  • テーブル情報
    desc <table>;
  • セッションの状態
    status;

こんな時はどうする

MySQLのバージョン変更でRubyが動かない場合

MySQLのバージョン変更をしたらRedmineがエラーを出すようになり、 httpdのerror_logに“Object is not missing constant Issue!”が表示されていた。

mysql gemを新しいMySQLのライブラリで再作成する必要がある。 gem uninstall mysqlしてgem install mysqlをする。

文字コードの異なるデータベースへのデータ移行

普通に文字コードが違うだけならmysqldumpしてmysqlで実行すればOK。 問題はlatin1のデータベースにutf8で書き込んでいる場合とか。 uft8でmysqldumpすると中身が文字化けしている。

その場合は、一度latin1の文字コードでmysqldumpすると文字化けしていないダンプが取れる。 その後、文字コードを定義しているlatin1をutf8に変換してから、 mysqlでインポートする。

データベースのレコードの中にlatin1という文字列が入っていないことを確認してから行った方がよい。

$ mysqldump -u <user> -p<pass> <export_dbname> --default-character-set=latin1 > dump.sql
$ sed -e s/latin1/utf8/g dump.sql > dump-utf8.sql
$ mysql -u <user> -p<pass> <import_dbname> < dump-utf8.sql
技術メモ/mysql.txt · 最終更新: 2011/07/09 05:28 by nabium