#author("2022-04-04T23:43:19+00:00","default:admin","admin")
#author("2022-06-13T13:22:13+00:00","default:admin","admin")
-MySQL関連のWikiへのリンク
--[[MySQL:http://wiki.gashimax.com/index.php?MySQL]]
--MySQL 5.1
--MySQL 5.4
--MySQL/InnoDB
--MySQL/エラー
--MySQL/クラスタリング
--MySQL/サーバ移動
--MySQL/チューニング
--MySQL/バージョン
--MySQL/バックアップ
--MySQL/プロファイリング
--MySQL/ベンチマーク
--MySQL/レプリケーション
--MySQL/ロック
--MySQL/制限
----

*[[MySQL:http://www.mysql.com/]] [#of754a71]

--[[日本法人:http://www-jp.mysql.com/]]

#Contents

*ライセンス [#c410c4c8]
-[[MySQL製品の価格とサービスレベル:https://www.softagency.co.jp/products/mysql/price]]
-[[MySQLライセンス 簡単ライセンスチェック:http://www.s-style.co.jp/about_mysql/chart/index.html]]
-[[MySQL Enterprise Server:http://www.s-style.co.jp/mysql_enterprise/server/index.html]]
-[[MySQL - "Enterprise"と"Community"の違いとは?:http://journal.mycom.co.jp/articles/2006/10/31/mysql/]]

*今後 [#sdac474f]
-[[v5.1:http://wiki.gashimax.com/index.php?MySQL%205.1]]
--2008年12月にGA版(5.1.30)をリリース
--[[「MySQL 5.1」リリース--バグの多さを警告する声も:http://japan.zdnet.com/news/devsys/story/0,2000056182,20384548,00.htm]]

-v6.0
--2009年Q3にベータ版?
--2010年Q4にGA版?

-[[まもなく 5.1 GA登場! 次のMySQL 6.xではオンラインバックアップが目玉に:http://journal.mycom.co.jp/articles/2008/10/31/mysql/index.html]]

* インストール [#n0a5977b]
-CLAGS
--[[march (Intel):http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel]]
-configure で「configure: error: No curses/termcap library found」のエラーが出る場合
--libtermcap-devel のパッケージをインストール

*セキュリティ [#sa5f7795]
-[[ポート番号3306を使用する約360万台のMySQLサーバーが公開され潜在的な攻撃対象となっていることが判明:https://gigazine.net/news/20220603-over-3-million-mysql-servers-exposed/]]

*Tips [#zbe343d6]

**バッチ実行時にMySQLの処理時間を表示 [#w7a1868f]
"-t -vvv" のオプションを付ければ良い

**文字コードの自動変換を回避するオプション [#t3769ecc]

※ 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の文字化け対策 [#iea78244]
-[[EUC-JPの場合:http://phpspot.net/php/pgMySQL4.1%8CnEUC-JP%82%CC%8F%EA%8D%87.html]]
-[[UTF-8の場合:http://phpspot.net/php/pgMySQL4.1%8CnUTF-8%82%CC%8F%EA%8D%87.html]]

**MySQL-PHPの関係図(v4.1以降) [#p7cc579e]
#ref(http://192.168.255.37/data/MySQL-PHP.jpg)

**UTF-8 で動かすために加えた MySQL の設定 [#a22cc4a6]
 [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

** 予約語 [#n5ee42ea]

| DD | ALL | ALTER | ANALYZE | AND | AS |
| ASC | BEFORE | BETWEEN | BIGINT | BINARY | BLOB |
| BOTH | BY | CASCADE | CASE | CHANGE | CHAR |
| CHARACTER | CHECK | COLLATE | COLUMN | COLUMNS | CONSTRAINT |
| CONVERT | CREATE | CROSS | CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP |
| CURRENT_USER | DATABASE | DATABASES | DAY_HOUR | DAY_MICROSECOND | DAY_MINUTE |
| DAY_SECOND | DEC | DECIMAL | DEFAULT | DELAYED | DELETE |
| DESC | DESCRIBE | DISTINCT | DISTINCTROW | DIV | DOUBLE |
| DROP | DUAL | ELSE | ENCLOSED | ESCAPED | EXISTS |
| EXPLAIN | FALSE | FIELDS | FLOAT | FLOAT4 | FLOAT8 |
| FOR | FORCE | FOREIGN | FROM | FULLTEXT | GRANT |
| GROUP | HAVING | HIGH_PRIORITY | HOUR_MICROSECOND | HOUR_MINUTE | HOUR_SECOND |
| IF | IGNORE | IN | INDEX | INFILE | INNER |
| INSERT | INT | INT1 | INT2 | INT3 | INT4 |
| INT8 | INTEGER | INTERVAL | INTO | IS | JOIN |
| KEY | KEYS | KILL | LEADING | LEFT | LIKE |
| LIMIT | LINES | LOAD | LOCALTIME | LOCALTIMESTAMP | LOCK |
| LONG | LONGBLOB | LONGTEXT | LOW_PRIORITY | MATCH | MEDIUMBLOB |
| MEDIUMINT | MEDIUMTEXT | MIDDLEINT | MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
| NATURAL | NOT | NO_WRITE_TO_BINLOG | NULL | NUMERIC | ON |
| OPTIMIZE | OPTION | OPTIONALLY | OR | ORDER | OUTER |
| OUTFILE | PRECISION | PRIMARY | PRIVILEGES | PROCEDURE | PURGE |
| RAID0 | READ | REAL | REFERENCES | REGEXP | RENAME |
| REPLACE | REQUIRE | RESTRICT | REVOKE | RIGHT | RLIKE |
| SECOND_MICROSECOND | SELECT | SEPARATOR | SET | SHOW | SMALLINT |
| SONAME | SPATIAL | SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT | SSL |
| STARTING | STRAIGHT_JOIN | TABLE | TABLES | TERMINATED | THEN |
| TINYBLOB | TINYINT | TINYTEXT | TO | TRAILING | TRUE |
| UNION | UNIQUE | UNLOCK | UNSIGNED | UPDATE | USAGE |
| USE | USING | UTC_DATE | UTC_TIME | UTC_TIMESTAMP | VALUES |
| VARBINARY | VARCHAR | VARCHARACTER | VARYING | WHEN | WHERE |
| WITH | WRITE | X509 | XOR | YEAR_MONTH | ZEROFILL |

以下はMySQLでは使えるが、SQL-99 では使用を禁止されているので使わない方が良い。
| ACTION | BIT | DATE | ENUM | NO | TEXT | TIME | TIMESTAMP |

** データベースの文字コード [#z087843b]
 show create database [データベース名]
これは 4.1 以降で使えるらしい。

-[[MySQL - 文字コードの設定を表示:http://wind-master.dip.jp/soft-info/item/43/catid/4]]

** 入力補完 [#ebb05513]

mysqlコマンドを--auto-rehashオプションをつけて起動する
 $ mysql --auto-rehash
* my.cnfの[mysql]セクションにauto-rehashと書いておく [#z800efe4]

 select * form a"
までうって Tabを押すと
 select * from account_mst
見たいに補完してくれます。

** 検索のTips [#jf7d72a7]

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;

** その他 [#we726047]

-[[mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法:http://techtarget.itmedia.co.jp/tt/news/0709/12/news01.html]]


*有用なサイト [#ve3907e2]
-[[日本MySQLユーザ会 FAQ:http://www.mysql.gr.jp/frame/modules/bwiki/index.php?FAQ]]
>日本語の取扱等の情報が豊富

-[[MySQL日本語の旅:http://oss.timedia.co.jp/index.fcgi/kahua-web/show/MySQL%C6%FC%CB%DC%B8%EC%A4%CE%CE%B9]]

-[[phpMyAdminでデータの文字化け:http://bbs.fedora.jp/read.php?FID=8&TID=1909]]

-[[今頃MySQL4.1系と格闘:http://reverb.jp/vivian/index.php?itemid=497]]

-[[インデックスについて:http://www.daito.ac.jp/~ikeuchi/webdb/mysql_5.html]]

-[[MySQL FULLTEXT + Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について:http://www.tatamilab.jp/rnd/archives/000390.html]]

-[[MySQL調査結果:http://www.buena-idea.net/~hironobu/mysql/index.html]]

-[[MySQLのロック:http://www.interdb.jp/techinfo/mysql/m-2-10.html]]

*その他リンク集 [#ff16c509]
-[[MySQL:1台しかない環境でエセ負荷分散:http://kokoromo.jugem.cc/?eid=195]]
-[[ミクシィのCTOが語る「mixiはいかにして増え続けるトラフィックに対処してきたか」:http://itpro.nikkeibp.co.jp/article/NEWS/20060330/233820/]]
-[[パーティショニング機能:http://d.hatena.ne.jp/mir/20070208/p2]]
-[[「MySQL Casual Talks vol.1」に参加してきたよ、のメモ:http://d.hatena.ne.jp/rx7/20101211/p1]]
-[[「優れたMySQL DBAを見分ける27+3の質問」に対する回答例:http://nippondanji.blogspot.com/2011/04/mysql-dba273.html]]
-[[ソーシャルゲームのためのデータベース設計 [slideshare]:http://www.slideshare.net/matsunobu/ss-6584540]]
-[[MySQLでサービス停止のないALTER TABLEの検討:http://d.hatena.ne.jp/sh2/20100703]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS