DjangoでMySQLを使うメモとか
環境
Ubuntu 11.04
MySQLの設定
/etc/mysql/my.cnf の [mysqld] に追加
default-character-set=utf8 character-set-server=utf8 skip-character-set-client-handshake
MySQLのシェルで直接名前変更する場合は
set names utf8;
設定を変更したら再起動する
sudo /etc/init.d/mysql restart
DBを作る
mysql -u root -p mysql> CREATE USER atasatamatara IDENTIFIED BY "********"; mysql> GRANT all ON *.* TO atasatamatara mysql> exit mysql -u atasatamatara -p mysql> create database data;
Djangoの設定
もろもろハマったところとか
なぜかsyncdbしたのに空だったり table doesn't exist したりした
よくわかんないけど /var/lib/mysql/data が実体っぽいんでを消したりした。たぶんよくない。
あとは
drop database data; create database data;
となんかつくりなおしたらうまくいった。なんでだろ?
select * from url; が動きません><;
カラムが Url (大文字)だったりした
select * from Url;
utf-8で保存したはずなのに文字化け><;
上記の設定で回避。set names utf8; はとりあえずの処置で、データベースを作るときに
create database data default character set utf8;
とかするといいみたい
関係ないけどMySQLの操作とか
- show databases でデータベース一覧
- use data でデータベースを選択
- show tables でテーブル一覧