MySQL †ライセンス †
今後 †
インストール †
セキュリティ †Tips †バッチ実行時にMySQLの処理時間を表示 †"-t -vvv" のオプションを付ければ良い 文字コードの自動変換を回避するオプション †※ http://d.hatena.ne.jp/secondlife/20051031/1130724806 よりコピー http://www.mysql.gr.jp/mysqlml/mysql/msg/9530 で話題になっていたように、 ver. 4.1以降、クライアント/サーバー間でキャラクターセットが自動的に 変換されるようになったことに伴い、多くの方が文字化けといった問題に 悩まされていたかと思います。 この点については開発側に改善を要求してきましたが、4.1.15にて "--skip-character-set-client-handshake" というオプションが導入されました。 http://dev.mysql.com/doc/refman/4.1/en/news-4-1-15.html このオプションを指定することにより、クライアントのキャラクターセットが サーバー側のキャラクターセットに合わせて自動的に設定され、 自動変換が発生しないようになります。特にver. 4.0から移行する際に、 このオプションの利用を徹底すれば、多くのトラブルが回避できるのでは ないでしょうか。 http://www.mysql.gr.jp/mysqlml/mysql/msg/12307 MySQL(v4.1以上)-PHPの文字化け対策 †MySQL-PHPの関係図(v4.1以降) †UTF-8 で動かすために加えた MySQL の設定 †[mysqld] default-character-set = utf8 init-connect="SET NAMES utf8" [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 init-connect はなかなか優秀なオプション。DBI やら PHP やら latin1 でビルドされてるバイナリがたくさんあって手に負えないのは周知の通りだけど、このオプションを付けておくと、クライアントが何であっても接続時に “SET NAMES utf8″ を勝手に実行してくれる。 これをやってもPHPアプリで文字化けする場合は、php.iniを以下のように変更 mbstring.internal_encoding = UTF-8 mbstring.http_output = UTF-8 予約語 †
以下はMySQLでは使えるが、SQL-99 では使用を禁止されているので使わない方が良い。
データベースの文字コード †show create database [データベース名] これは 4.1 以降で使えるらしい。 入力補完 †mysqlコマンドを--auto-rehashオプションをつけて起動する $ mysql --auto-rehash my.cnfの[mysql]セクションにauto-rehashと書いておく †select * form a" までうって Tabを押すと select * from account_mst 見たいに補完してくれます。 検索のTips †t1(c1, c2),idx_c1, idx_c2 select * from t1 where c1 = 'a' order by c2; の場合、複合作って以下が早い。 select * from t1 where c1 = 'a' order by c1,c2; その他 †有用なサイト †
その他リンク集 † |