MySQL server has gone away
¥¨¥é¡¼
MySQL server has gone away
¥¨¥é¡¼¤Î¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÍýͳ¤Ï¡¢¥µ¡¼¥Ð
¤¬¥¿¥¤¥à¥¢¥¦¥È¤ÇÀܳ¤ò¥¯¥í¡¼¥º¤·¤¿¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢²¿¤âµ¯¤¤Ê¤¤
¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï 8 »þ´Ö¸å¤ËÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤Î¾ì¹ç¤Ï¡¢¼«Æ°Åª¤ËºÆÀܳ¤¹¤ë¤¿¤á¤Ë¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥¯¥¨¥ê¤òºÆÈ¯ ¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢Ä̾盧¤ì¤é¤Î¥¨¥é¡¼¥³¡¼¥É¤òÆÀ¤Þ¤¹: (OS °Í¸¤Ç¤¹)
CR_SERVER_GONE_ERROR | ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¼ÁÌä¤òÁ÷¿®¤Ç¤¤Ê¤«¤Ã¤¿¡£ |
CR_SERVER_LOST | ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë½ñ¤¹þ¤à»þ¤Ë¤Ï¥¨¥é¡¼¤ÏȯÀ¸¤·¤Ê¤«¤Ã¤¿¤¬¡¢¼ÁÌä¤ËÂФ¹¤ë´°Á´¤ÊÅú¤¨(¤Þ¤¿¤Ï²¿¤é¤«¤ÎÅú¤¨)¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¡£ |
-O max_query_size=#
(¥Ç¥Õ¥©¥ë¥È 65536) ¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ç¥¯¥¨¥êÀ©¸Â¤òÁý²Ã¤Ç¤¤Þ¤¹¡£³ÈÄ¥¥á¥â¥ê
¤ÏÍ×µá¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢mysqld ¤ÏÂ礤ʥ¯¥¨¥ê¤òȯ¹Ô¤·
¤¿»þ¤äÂ礤ʷë²Ì¹Ô¤òÊÖ¤¹É¬ÍפΤ¢¤ë»þ¤À¤±¡¢Â¿¤¯¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹¡ª
Can't connect to local MySQL server
¥¨¥é¡¼MySQL ¥¯¥é¥¤¥¢¥ó¥È¤Ï mysqld ¥µ¡¼¥Ð¤Ë2¤Ä¤Î°Û¤Ê¤ëÊýË¡¤ÇÀܳ¤Ç¤¤Þ ¤¹: Unix ¥½¥±¥Ã¥È, ¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë(¥Ç¥Õ¥©¥ë¥È `/tmp/mysql.sock')¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£¤Þ¤¿¤Ï TCP/IP, ¤³¤ì¤Ï¥Ý¡¼¥ÈÈÖ ¹æ¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£Unix ¥½¥±¥Ã¥È¤Ï TCP/IP ¤è¤ê¤â®¤¤¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¤È Ʊ¤¸¥³¥ó¥Ô¥å¡¼¥¿¤«¤éÀܳ¤¹¤ë»þ¤·¤«»È¤¨¤Þ¤»¤ó¡£Unix ¥½¥±¥Ã¥È¤Ï¡¢¥Û¥¹¥È̾ ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤«¡¢ÆÃÊ̤ʥۥ¹¥È̾ 'localhost' ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë»ÈÍѤµ¤ì ¤Þ¤¹¡£
¼¡¤Ë¥¨¥é¡¼¤Î¤¤¤¯¤Ä¤«¤ÎÍýͳ¤òµó¤²¤Þ¤¹
Can't connect to local MySQL server
¡£
ps
¤Ç¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À
¤µ¤¤¡£°Û¤Ê¤ëÀܳ¤ò»î¤¹¤³¤È¤Ë¤è¤ê¥µ¡¼¥Ð¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Þ¤¹ (¥Ý¡¼¥È¤È¥½¥±¥Ã
¥È¤Ï¤â¤Á¤í¤ó¥»¥Ã¥È¥¢¥Ã¥×¤Ë¤è¤ê°Û¤Ê¤ê¤Þ¤¹):
mysqladmin version mysqladmin -h `hostname` version mysqladmin -h `hostname` --port=3306 version mysqladmin --socket=/tmp/mysql.sock version
'mysqladmin -u `hostname`
version
¤ò»ÈÍѤò»î¤·¤Æ¤¯¤À¤µ¤¤¡£
mysqladmin version
¤ò¼Â¹Ô¤·¤Æ
mysqladmin ¤¬»ÈÍѤ¹¤ë¥½¥±¥Ã¥È¤¬ËÜÅö¤Ë¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Þ¤¹¡£¤³¤Î
¥±¡¼¥¹¤Î½¤Àµ¤Ï¡¢mysqld.sock ¤ò¾Ã¤µ¤Ê¤¤¤è¤¦¤Ë cron job ¤òÊѹ¹¤¹¤ë¤«¡¢¤Þ¤¿
¤Ï¥½¥±¥Ã¥È¤ò¤É¤³¤«Â¾¤Î¾ì½ê¤Ë°Ü¤¹¤³¤È¤Ç¤¹¡£
./configure --with-unix-socket-path=/my-own-place/mysql.sock
¤Ç
mysqld ¤ò reconfigure ¤¹¤ë¤«¡¢--socket=/my_own_place/mysqld.sock
¤Ç safe_mysqld ¤ò³«»Ï¤·¤Æ¡¢mysql ¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ëÁ°¤Ë´Ä¶ÊÑ¿ô
MYSQL_UNIX_PORT
¤ò¥½¥±¥Ã¥È¤ò»Ø¤¹¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¥½¥±¥Ã¥È¤ò°Üư¤¹
¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
--socket=...
¤Ç³«»Ï¤·¤Æ¤¤¤ë¡£
¥½¥±¥Ã¥È¤òÊѹ¹¤¹¤ë¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë¤â¿·¤·¤¤¥Ñ¥¹¤òÄÌÃΤ¹¤ëɬÍפ¬¤¢¤ê¤Þ
¤¹¡£´Ä¶ÊÑ¿ô MYSQL_UNIX_PORT
¤ò¥½¥±¥Ã¥È¤ò»Ø¤¹¤è¤¦¤ËÀßÄꤹ¤ë¡¢¤¢¤ë¤¤¤Ï
mysql ¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î°ú¿ô¤Ë¤è¤Ã¤Æ¥½¥±¥Ã¥È¤òÍ¿¤¨¤ë¤³¤È¤Ç¤³¤ì¤ò¹Ô¤¨¤Þ¤¹¡£
Î㤨¤Ð¡¢mysqladmin --socket=/path-to-socket version
¤Ç¥½¥±¥Ã¥È¤ò
»î¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¯¥¨¥ê¤ò¹Ô¤Ã¤Æ¡¢¼¡¤Î¥¨¥é¡¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆÀ¤¿¾ì¹ç:
mysql: Out of memory at line 42, 'malloc.c' mysql: neaded 8136 byte (8k), memory in use: 12481367 bytes (12189k)) ERROR 2008: MySQL client got out of memory
¥¨¥é¡¼¤Ï MySQL ¥¯¥é¥¤¥¢¥ó¥È¤Ë´Ø·¸¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥¨ ¥é¡¼¤ÎÍýͳ¤Ïñ½ã¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬·ë²ÌÁ´ÂΤò³ÊǼ¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò»ý¤Ã ¤Æ¤¤¤Ê¤¤¤³¤È¤Ç¤¹¡£
¥¯¥é¥¤¥¢¥ó¥È¤¬ net_buffer_length
¤è¤ê¤âÂ礤ʥ֥í¥Ã¥¯¤òÆÀ¤¿»þ¡¢
Packet too large
¥¨¥é¡¼¤òȯ¤·¤Þ¤¹¡£
mysql
¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢mysql
--set-variable=net_buffer_length=1m
¤Ç¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ë¤³¤È¤Ç¡¢¥Ð¥Ã
¥Õ¥¡¤òÂ礤¯ÀßÄê¤Ç¤¤Þ¤¹¡£
¤³¤Î¥¨¥é¡¼¤Ï¥á¥â¥êÆâ°ì»þ¥Æ¡¼¥Ö¥ë¤¬ tmp_table_size
¤è¤ê¤âÂ礤¯¤Ê¤Ã
¤¿»þ¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢mysqld ¤Î¥ª¥×¥·¥ç¥ó -O
tmp_table_size=#
¤ÇÁý²Ã¡¢¤Þ¤¿¤Ï¡¢SQL ¥ª¥×¥·¥ç¥ó SQL_BIG_TABLES
¤òÌäÂê¤Î¥¯¥¨¥ê¤ÎÁ°¤Ë»ÈÍѤǤ¤Þ¤¹¡£ ¡ÖSET OPTION ¹½Ê¸¡×ÀỲ¾È ¡£
One can also start mysqld with the option: --big-tables
.
This is exactly the same as using SQL_BIG_TABLES for all queries.
Commands out of sync; You can't run this command now
¤ò¥¯¥é¥¤¥¢¥ó
¥È¥³¡¼¥ÉÃæ¤ÇÆÀ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È´Ø¿ô¤ò´Ö°ã¤Ã¤¿½çÈ֤ǸƤӽФ·¤Þ¤·¤¿¡ª
¤³¤ì¤ÏÎ㤨¤Ð¡¢'mysql_use_result()' ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢'mysql_free_result()' ¤ò¹Ô¤¦Á°¤Ë¿·¤·¤¤¥¯¥¨¥ê¤Î¼Â¹Ô¤ò»î¤ß¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ì¤Ï¤Þ¤¿¡¢¥Ç¡¼¥¿ ¤òÊÖ¤¹£²¤Ä¤Î¥¯¥¨¥ê¤Î¼Â¹Ô¤ò¡¢´Ö¤Ë mysql_use_result() ¤ä mysql_store_result() ̵¤·¤Ç»î¤ß¤¿¾ì¹ç¤Ë¤âȯÀ¸¤·¤Þ¤¹¡£
¥Ç¥£¥¹¥¯¥Õ¥ë¾ò·ï¤Ç¤Ï MySQL ¤Ï¼¡¤Î¤³¤È¤ò¹Ô¤¤¤Þ¤¹:
mysqladmin kill
¤ò¥¹¥ì¥Ã¥É¤ËÁ÷¤ë
ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¼¡¤Ë(1ʬ)¥Ç¥£¥¹¥¯¤ò¥Á¥§¥Ã¥¯¤·¤¿»þ¤Ë¥¢¥Ü¡¼¥È¤·
¤Þ¤¹¡£
MySQL ¤Ï°ì»þ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤È¤·¤Æ TMPDIR ´Ä¶ÊÑ¿ô¤ÎÃͤò
»ÈÍѤ·¤Þ¤¹¡£TMPDIR ¤òÀßÄꤷ¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢MySQL ¤Ï¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©
¥ë¥È¤ò»ÈÍѤ·¤Þ¤¹¡£Ä̾ï¤Ï /tmp ¤Þ¤¿¤Ï /usr/tmp
¤Ç¤¹¡£TMPDIR ¤¬¾®¤µ
¤¹¤®¤ë¾ì¹ç¡¢safe_mysqld ¤òÊÔ½¸¤·¤Æ¡¢½½Ê¬¤ÊÎΰ褬¤¢¤ë¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø
¤¹¤è¤¦¤Ë TMPDIR ¤òÀßÄꤹ¤Ù¤¤Ç¤¹¡ª
MySQL ¤ÏÁ´¤Æ¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò '±£¤·¥Õ¥¡¥¤¥ë' ¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£ ¤³¤ì¤Ï mysqld ¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¡¢°ì»þ¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤· ¤Þ¤¹¡£±£¤·¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë '°¤¤' ¦Ì̤ϡ¢¾®¤µ¤¹¤®¤ë°ì»þ¥Ç¥£¥¹¥¯¤ò°ìÇÕ ¤Ë¤¹¤ëÂ礤ʰì»þ¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£
¥½¡¼¥È»þ (ORDER BY ¤Þ¤¿¤Ï GROUP BY)¡¢MySQL ¤ÏÄ̾ï°ì¤Ä¤Þ¤¿¤ÏÆó¤Ä
¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£É¬ÍפʺÇÂç¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤Ï
(length_of_what_is_sorted + sizeof(database_pointer)) * number_of_matched_rows * 2
¤Ç¤¹¡£
sizeof(database_pointer)
¤ÏÄ̾¤Ç¤¹¤¬¡¢¾ÍèËÜÅö¤ËÂ礤ʥơ¼¥Ö¥ë
¤Î¤¿¤á¤ËÂ礤¯¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
¤¤¤¯¤Ä¤«¤Î SELECT ¥¯¥¨¥ê¤Ï°ì»þŪ¤Ê SQL ¥Æ¡¼¥Ö¥ë¤âÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï±£ ¤·¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢SQL_ ¤Ç»Ï¤Þ¤ë̾Á°¤Ç¤¹¡£
ALTER TABLE
¤Ï°ì»þ¥Æ¡¼¥Ö¥ë¤ò¥ª¥ê¥¸¥Ê¥ë¥Æ¡¼¥Ö¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê
Æâ¤ËÀ¸À®¤·¤Þ¤¹¡£
Access denied?
¥¨¥é¡¼
¡ÖÆÃ¸¢¥·¥¹¥Æ¥à¤¬¤É¤Î¤è¤¦¤ËƯ¤¯¤«¡©¡×ÀỲ¾È ¡£¤½¤·¤ÆÆÃ¤Ë ¡Ö²¿¸Î Access denied
¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤«¡©¡×ÀỲ¾È ¡£
mysqld (MySQL ¥µ¡¼¥Ð) ¤Ïï¤Ç¤â³«»Ï¤·¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ mysqld ¤ò¥æ¡¼¥¶ USER ¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤ËÊѹ¹¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤ò¹Ô¤Ê¤¦É¬Íפ¬ ¤¢¤ê¤Þ¤¹:
shell> chown -R USER /your/path/to/mysql/var
root ¤Ç safe_mysqld ¤ò¼Â¹Ô¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¹Ô¤Ê¤¦¤³¤È¤Ï²¿¤â¤¢¤ê¤Þ ¤»¤ó¡£
¤³¤Î»þÅÀ¤Ç¡¢¤¢¤Ê¤¿¤Î mysqld ¥×¥í¥»¥¹¤Ï¥æ¡¼¥¶ 'USER' ¤ÇÀµ¾ï¤Ëưºî¤·¤Þ¤¹¡£ °ì¤Ä¤Î¤³¤È¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¤½¤ì¤Ï¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È (¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¥¤¥ó¥¹¥È¡¼¥ë¥¹¥¯¥ê¥×¥È¼Â¹Ô¸å¤Î¸¢¸Â) ¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹ ¤Î¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ï¥æ¡¼¥¶ 'root' ¤À¤±¤Ç¤¹¡£¤³¤ì¤òÊѹ¹¤·¤Ê¤¤¤È¡¢¤½ ¤ì¤Ï¤½¤Î¤Þ¤Þ¤Ç¤¹¡£root °Ê³°¤Î¥æ¡¼¥¶¤Ç¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë»þ¤Ç¤â¡¢¤¢¤Ê¤¿¤Ï MySQL ¤Î¥¢¥¯¥»¥¹¤Ï²Äǽ¤Ç¤¹ - ¤¿¤À¥×¥í¥°¥é¥à¤Ë -u root ¤òµ½Ò¤¹ ¤ë¤À¤±¤Ç¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç -u root ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢root ¤Ç MySQL ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤â¡¢root ¤È¤·¤Æ¡¢¥æ¡¼¥¶¤È¤·¤Æ¤Þ¤¿¤Ï¾¤Îï²½ ¤È¤·¤Æµ¯Æ°¤·¤Æ¤¤¤ë MySQL ¤Ç¹Ô¤Ê¤¦¤³¤È¤Ï²¿¤â¤Ê¤¤¤È¤¤¤¦¤³¤È¤ËÃí°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£MySQL ¤Î¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¥æ¡¼¥¶¥Ù¡¼¥¹¤Ï¡¢ UNIX ¥æ¡¼¥¶¤È¤Ï´°Á´¤ËÊ̤Τâ¤Î¤Ç¤¹¡£UNIX ¥æ¡¼¥¶¤Ë´Ø·¸¤¹¤ë¤Î¤Ï¡¢¥¯¥é¥¤¥¢¥ó ¥È¤Ë -u ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤À¤±¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï MySQL ¤Ø¤Î¥í¥°¥¤¥ó¤ò¡¢¤¢¤Ê¤¿¤Î UNIX ¥í¥°¥¤¥ó̾¤Ç»î¤ß¤Þ¤¹¡£¤¢¤Ê ¤¿¤Î UNIX ¥Þ¥·¥ó¤½¤ì¼«¿È¤¬°ÂÁ´¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â MySQL ¥¢ ¥¯¥»¥¹¥Æ¡¼¥Ö¥ë¤Î root ¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤Ù¤¤Ç¤¹¡£¤É¤³¤«¤Î狼¤¬ 'mysql -u root dbname' ¤ò¹Ô¤Ê¤¤¡¢Èब˾¤à¤³¤È¤ÎÁ´¤Æ¤ò¼Â¹Ô¤Ç¤¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
¥Õ¥¡¥¤¥ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂ꤬¤¢¤ë¾ì¹ç¡¢Î㤨¤Ð¡¢¥Æ¡¼¥Ö¥ë¤ÎÀ¸À®»þ¤Ë mysql ¤¬¼¡ ¤ò½ÐÎϤ¹¤ë¾ì¹ç: "ERROR: Can't find file: 'path/with/filename.frm' (Errcode: 13)", ´Ä¶ÊÑ¿ô UMASK ¤¬´Ö°ã¤Ã¤¿Ãͤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È umask ¤Ï 0664 ¤Ç¤¹¡£¼¡¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤:
UMASK=432 export UMASK ./bin/safe_mysqld
ERROR '...' not found (Errcode: 23)
¤Þ¤¿¤Ï¤Ê¤ó¤é¤«¤Î¾¤Î
errcode 23
¤Î¥¨¥é¡¼¤ò MySQL ¤«¤éÆÀ¤¿¾ì¹ç¡¢¤³¤ì¤Ï
MySQL ¤Ë½½Ê¬¤Ê¥Õ¥¡¥¤¥ëµ½Ò»Ò¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·
¤Þ¤¹¡£perror #
¤Ï¤µ¤é¤ËÆÉ¤ß¤ä¤¹¤¤·Á¼°¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÍ¿¤¨¤Þ¤¹¡£
`safe_mysqld' Æâ¤Ë¥³¥á¥ó¥È¤µ¤ì¤¿¹Ô ulimit -n 256
¤¬¤¢¤ê¤Þ¤¹¡£
¤â¤Á¤í¤ó¡¢¤³¤Î¥³¥á¥ó¥È¤Ïºï½ü¤Ç¤¡¢Ë¾¤à¤Ê¤éÃͤòÁý²Ã¤Þ¤¿¤Ï¸º¾¯¤µ¤»¤ë¤³¤È¤¬
¤Ç¤¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¥¥ã¥Ã¥·¥å¤ò¤è¤ê¾®¤µ¤¯¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹:
safe_mysqld -O table_cache=32
(¥Ç¥Õ¥©¥ë¥È¤Ï 64)¡£
ÆüÉդηÁ¼°¤Ï 'YYYY-MM-DD' ¤Ç¤¹¡£ANSI SQL ¤Ë½¾¤Ã¤Æ¼ÂºÝ¤Ë¤Ï¾¤Î¤Ïµö¤µ¤ì¤Þ
¤»¤ó¡£¹¹¿·¤Þ¤¿¤Ï WHERE ÀáÆâ¤Ç¤Ï¤³¤Î·Á¼°¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£¤¹¤Ê¤ï¤Á:
select * from table_1 where date >= '1997-05-05'
;
ÍøÊØ¤Î¤¿¤á¡¢MySQL ¤Ï¿ôÃͤÎʸ̮¤Ç»ÈÍѤµ¤ì¤ë¤È¡¢ÆüÉÕ¤ò¼«Æ°Åª¤Ë¿ô
ÃͤËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ï¹¹¿·¤È TIMESTAMP
, DATE
¤Þ¤¿¤Ï
DATETIME
¹àÌܤǤΠWHERE
»þ¤Ë¡¢'¤æ¤ë¤ä¤«¤Ê' ʸ»úÎó¤Î·Á¼°¤òµö
¤¹¤¿¤á¤Ë½½Ê¬¥¹¥Þ¡¼¥È¤Ç¤¹¡£
ÆÃÊÌ¤ÊÆüÉÕ '0000-00-00' ¤Ï 0000-00-00 ¤È¤·¤Æ³ÊǼ¤µ¤ì¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£ MyODBC ¤òÄ̤·¤Æ '0000-00-00' ÆüÉÕ¤ò»ÈÍѤ¹¤ë»þ¡¢MyODBC 2.50.12 °Ê¾å¤Ç¤Ï¼« ưŪ¤Ë NULL ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ODBC ¤Ï¤³¤ÎÆüÉդμïÎà¤ò°·¤¨¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¤³¤ì¤Ï¼¡¤¬Æ¯¤¯¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:
insert into table_1 (idate) values (19970505) ; insert into table_1 (idate) values ('19970505') ; insert into table_1 (idate) values ('97-05-05'); insert into table_1 (idate) values ('1997.05.05'); insert into table_1 (idate) values ('1997 05 05'); insert into table_1 (idate) values ('0000-00-00'); select idate from table_1 where idate >= '1997-05-05'; select idate from table_1 where idate >= 19970505; select mod(idate,100)1 from table_1 where idate >= 19970505; select idate from table_1 where idate >= '19970505';
¼¡¤ÏƯ¤¤Þ¤»¤ó:
select idate from table_1 where strcmp(idate,'19970505')=0; '19970505' ¤Ïʸ»úÎó¤È¤·¤Æ '1997-05-05' ¤ÈÈæ³Ó¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£
MySQL ¤ÏÆüÉÕ¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À ¤µ¤¤¡£´Ö°ã¤Ã¤¿ÆüÉÕ(Î㤨¤Ð 1998-2-31)¤ò³ÊǼ¤¹¤ë¤È¡¢¤½¤Î´Ö°ã¤Ã¤¿ÆüÉÕ¤¬³ÊǼ ¤µ¤ì¤Þ¤¹¡£ÆüÉÕ¤¬Á´ÂÎŪ¤ËÉÔ²Äǽ¤Ê¾ì¹ç¡¢0 ¤¬ÆüÉÕ¹àÌܤ˳ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï ¼ç¤Ë®ÅÙ¤ÎÌäÂê¤Ç¡¢ÆüÉդΥÁ¥§¥Ã¥¯¤Ï¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¯¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤È²æ¡¹ ¤Ï¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï MySQL ¹àÌܤϥ±¡¼¥¹Èó°Í¸¤Ç¤¹ (¤·¤«¤·¡¢¥±¡¼¥¹Èó°Í
¸¤Ë¤Ê¤é¤Ê¤¤¤¤¤¯¤Ä¤«¤Îʸ»ú¥»¥Ã¥È¤Ï¤¢¤ê¤Þ¤¹)¡£¤³¤ì¤Ï¡¢column like 'a%';
¤Ç¸¡º÷¤·¤¿¾ì¹ç¡¢A
¤Þ¤¿¤Ï a
¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¹àÌܤòÆÀ¤ë¤³¤È¤ò
°ÕÌ£¤·¤Þ¤¹¡£¸¡º÷¤ò¥±¡¼¥¹°Í¸¤Ë¤·¤¿¤¤¤Î¤Ê¤é¡¢»Ï¤Þ¤ê¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï
INDEX(column, "A")=0
¤Î¤è¤¦¤Ê¤³¤È¤ò¡¢¤Þ¤¿¡¢Ê¸»úÎóÁ´ÂΤ¬Æ±¤¸¤«¤É¤¦
¤«¤Ë¤Ï STRCMP(column, "A") = 0
¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
ñ½ã¤ÊÈæ³ÓÁàºî >=, >, =, <, <=
¡¢¥½¡¼¥È¤½¤·¤Æ¥°¥ë¡¼¥×²½¤Ï¡¢Ê¸»ú 'sort
value' ¾å¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£Æ±¤¸¥½¡¼¥ÈÃͤÎʸ»ú (like E, e and -Aé) $)B¤ÏƱ¤¸Ê¸»ú¤È
¤·¤Æ°·¤ï¤ì¤Þ¤¹¡ª
LIKE Èæ³Ó¤Ï³ÆÊ¸»ú¤ÎÂçʸ»ú¤Ç¹Ô¤ï¤ì¤Þ¤¹ (E == e but E <> -Aé)$)B
column
¤ò¤¤¤Ä¤Ç¤â¥±¡¼¥¹°Í¸¤Ç°·¤¤¤¿¤¤¾ì¹ç¤Ï¡¢¤½¤ì¤ò BINARY
¤È¤·¤ÆÀë¸À¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡ÖCREATE TABLE ¹½Ê¸¡×ÀỲ¾È ¡£
big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¸Æ¤Ð¤ì¤ëÃæ¹ñ¸ì¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Á´¤Æ¤Î
ʸ»ú¹àÌܤò BINARY
¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ê¸
»ú¤Î¥½¡¼¥È½ç¤¬ ascii ¥³¡¼¥É¤¬´ð¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢µ¡Ç½¤·¤Þ¤¹¡£
SQL ¤Î½é¿´¼Ô¤Î¤¢¤ê¤¬¤Á¤Êº®Íð¤Ï¡¢NULL ¤¬¶õʸ»úÎó '' ¤ÈƱ¤¸Êª¤À¤È¹Í¤¨¤ë¤³ ¤È¤Ç¤¹¡£¤³¤ì¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡ª Î㤨¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÏÁ´¤¯Ê̤Τ⠤ΤǤ¹:
INSERT INTO my_table (name,phone) values ("my",NULL); INSERT INTO my_table (name,phone) values ("my","");
½é¤á¤Î¤Ï NULL Ãͤò¥¢¥É¥ì¥¹¤ËÁÞÆþ¤·¡¢ÆóÈÖÌܤΤ϶õʸ»úÎó¤ò¥¢¥É¥ì¥¹¤ËÁÞÆþ¤· ¤Þ¤¹¡£½é¤á¤Î¤Ï 'ÅÅÏÃÈÖ¹æ¤òÃΤé¤Ê¤¤' ¤È¸«¤Ê¤µ¤ì¡¢ÆóÈÖÌÜ¤Î¤Ï 'Èà½÷¤ÏÅÅÏäò »ý¤Ã¤Æ¤¤¤Ê¤¤' ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
SQL ¤Ç¤Ï¡¢ NULL ¤Ï¾¤ÎÁ´¤Æ¤ÎÃÍ(¤¿¤È¤¨ NULL ¤Ç¤â)¤ÈÈæ³Ó¤·¤¿»þ¤Ë¡¢¾ï¤Ëµ¶¤Ë ¤Ê¤ëÃͤǤ¹¡£NULL ¤ò´Þ¤à¼°¤Ï¡¢ÆÃ¤ËÃǤ꤬¤Ê¤±¤ì¤Ð¡¢¾ï¤Ë NULL ÃͤòÀ¸À®¤·¤Þ ¤¹¡£¼¡¤Î¹àÌܤÏÁ´¤Æ NULL ¤òÊÖ¤·¤Þ¤¹:
SELECT NULL,1+NULL,CONCAT('Invisible',NULL);
NULL ¤ò»ý¤Ä¹àÌܤò¸¡º÷¤·¤¿¤¤¾ì¹ç¤Ï¡¢IS NULL ¥Æ¥¹¥È¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ ¤»¤ó¡£¼¡¤Ï NULL ÅÅÏÃÈÖ¹æ¤È¶õ¤ÎÅÅÏÃÈÖ¹æ¤ò¸«¤Ä¤±¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹:
SELECT * from my_table where phone IS NULL; SELECT * from my_table where phone = "";
MySQL ¤Ç¤Ï¡¢Â¾¤Î¿¤¯¤Î SQL ¥µ¡¼¥Ð¤Î¤è¤¦¤Ë¡¢NULL
Ãͤò»ý¤Ä
¥¤¥ó¥Ç¥Ã¥¯¥¹¹àÌܤò»ý¤Æ¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¹àÌÜ¤Ï NOT NULL
¤ÈÀë¸À¤·¤Ê
¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
LOAD DATA INFILE
¤Ç¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à¤È¤¤Ï¡¢¶õ¤Î¹àÌÜ¤Ï '' ¤Ç¹¹¿·¤µ
¤ì¤Þ¤¹¡£¹àÌܤò NULL Ãͤˤ·¤¿¤¤¾ì¹ç¤Ï¡¢¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Ë NULL ¤Þ¤¿¤Ï
\N ¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£
ORDER BY
»ÈÍÑ»þ¡¢NULL ÃͤϺǽé¤ËÄ󼨤µ¤ì¤Þ¤¹(DESC ̤»ÈÍÑ»þ)¡£
GROUP BY
»ÈÍÑ»þ¡¢Á´¤Æ¤Î NULL ÃͤÏÅù¤·¤¤¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
NULL ½èÍý¤ò¼ê½õ¤±¤¹¤ë¤¿¤á¡¢¼¡¤Î´Ø¿ô¤ò»ÈÍѤǤ¤Þ¤¹: IS NULL
,
IS NOT NULL
, IFNULL()
Go to the first, previous, next, last section, table of contents.