トップ > 興味のあること > コンピュータ > ソフトウェア

MySQL

2005年1月5日

サーバーのOSを入れ替えたとき、MySQLを動かし忘れていた。 今日外出先で蔵書を検索しようとしてようやく気がつくありさま。 とりあえずportsでMySQL40-serverを

 make -DWITH_CHARSET=ujis
 make -DWITH_CHARSET=ujis install
 make -DWITH_CHARSET=ujis clean

でインストール。 自動的にクライアントもインストールされた。

あとはバックアップのテープから/var/db/mysqlへリストアすればOK。

2005年7月6日

いつのまにか、mysqldumpが動かなくなっていた。実行すると、

mysqldump: Can't get CREATE TABLE for table `tables_priv` (File '/usr/local/share/mysql/charsets/ujis.conf' not found (Errcode: 2))

とのたまうのである。確かにujis.confはないのだが。 しかたないので、 /usr/ports/databases/mysql40-server/Makefileに

 --with-charset=ujis --with-extra-charsets=all \

を追加して、 もう一度mysql40-clientとmysql40-serverをportsで再インストール。 これで無事にmysqldumpが動くようになった。 どうやらserverのほうだけでもよかったようだ。

2008年1月13日

サーバーのOSをFreeBSD 6.2に変えたので、 一緒にMySQLも4.0から5.0にアップデートした。 またこの機会に文字コードをUTF-8に変更した。

  1. myslqdumpでデータベースを丸ごとダンプ。
  2. 不要な部分を削除。
  3. nkfでUTF-8に変換。
  4. --character-set-server=utf8を付けてサーバーを起動。
  5. --default-character-set=utf8を付けたmysqlに変換したダンプをリダイレクト。

これでphpMyAdminからは見えるようになった。

2008年3月15日

PHPで作った蔵書検索システムが動かなくなってしまった。 たぶん文字コード関係だろうと踏んで、 コネクションを張った後に`SET NAMES utf8'をクエリとして投げてやる。 後は今まで通りで大丈夫なようだ。

2017年10月13日

easyrecを使うため、 ずいぶん久しぶりで使ってみた。 文字コードの指定はmy.cnf中の[mysqld]に

character-set-server = utf8

で設定した。 後はeasyrecのインストールガイドに従って、 innodb関連のパラメータを四つほど追加。