MySQLÖÐÎIJο¼ÊÖ²áÒëÕߣºêÌ×Ó (clyan@sohu.com£© Ö÷Ò³£ºhttp://linuxdb.yeah.net
µÚÒ»ÕÂ, ǰһÕÂ, ÏÂÒ»ÕÂ, ×îºóÒ»Õ£¬Ä¿Â¼.
±¾ÕÂÃèÊöÔõÑù»ñµÃ²¢°²×°MySQL£º
¼ì²éMySQLÖ÷Ò³»ñµÃµ±Ç°°æ±¾µÄÐÅÏ¢ºÍÏÂÔØÖ¸Áî¡£
È»¶ø£¬TcXµÄÒòÌØÍøÁ´½Ó²»ÊǺܿìµÄ£»ÎÒÃǸüÏ£ÍûÈÃÄã´ÓÏÂÁоµÏóÕ¾µãÖ®Ò»½øÐÐÕæÕýµÄÏÂÔØ¡£
ÇëÏòwebmaster@mysql.com±¨¸æ²»´æÔڵĻò¹ýʱµÄ¾µÏñÕ¾µã¡£
Å·ÖÞ£º
±±ÃÀÖÞ£º
ÄÏÃÀÖÞ£º
ÑÇÖÞ£º
°ÄÖÞ£º
·ÇÖÞ£º
ÎÒÃÇʹÓà GNU Autoconf£¬Òò´Ë½«MySQLÒÆÖ²µ½ËùÓÐʹÓà Posix Ï̺߳ÍÒ»¸ö C++ ±àÒëÆ÷µÄÏÖ´úϵͳÊÇ¿ÉÄܵġ£(½ö½öΪÁ˱àÒë¿Í»§´úÂ룬ֻÐèÒªÒ»¸ö C++ ±àÒëÆ÷¶ø²»ÊÇÏß³Ì)¡£ÎÒÃÇÖ÷ÒªÔÚSun Solaris(°æ±¾ 2.5 & 2.6)ÉÏʹÓò¢¿ª·¢Èí¼þ±¾Éí£¬¶øRedHat Linux 5.0 ¾ÓÆä´Î¡£
MySQLÒѾ±»±¨¸æÔÚÏÂÁвÙ×÷ϵͳ/Ḭ̈߳üµÄ×éºÏÉϳɹ¦µØ±àÒë¡£×¢Ò⣬¶ÔºÜ¶à²Ù×÷ϵͳ£¬ÔÉúµÄÏß³ÌÖ§³Ö½ö¹¤×÷ÓÚ×îеİ汾¡£
glibc2.0.7Ê×ÏÈÒª×÷³ö¾ö²ß£¬ÄãÊÇ·ñÏëҪʹÓÃ×îеĿª·¢°æ±¾»ò×îÖÕµÄÎȶ¨°æ±¾£º
crash-meºÍ»ù×¼²âÊÔÌ×¼þÀ´²âÊÔËü¡£¼û10.8 ʹÓÃÄã×Ô¼ºµÄ»ù×¼²âÊÔ¡£Òª×öµÄµÚ¶þÏî¾ö²ßÊÇÄãÊÇ·ñÏëҪʹÓÃÔ´´úÂë·Ö·¢»ò¶þ½øÖÆ·Ö·¢£º
MySQLµÄÃüÃû»úÖÆÊ¹ÓÃÓÉ3¸öÊý×ÖºÍÒ»¸öºó׺×é³ÉµÄ°æ±¾ºÅ¡£ÀýÈ磬һ¸öÏñmysql-3.21.17-betaµÄ°æ±¾ºÅÕâÑù½âÊÍ£º
3)ÃèÊöÎļþ¸ñʽ¡£ËùÓа汾3µÄ·¢Ðж¼ÓÐÏàͬµÄÎļþ¸ñʽ¡£µ±Ò»¸ö°æ±¾4³öÏÖʱ£¬Ã¿¸öÊý¾Ý¿â±í¶¼½«±ØÐëת»»µ½Ð¸ñʽ(µ±È»£¬Îª´ËÓÐÒ»¸öºÜ²»´íµÄ¹¤¾ß)¡£
21)ÊÇ·¢Ðм¶±ð¡£Í¨³£ÓÐ2ÖÖÑ¡Ôñ¡£Ò»¸öÊÇ·¢²¿/Îȶ¨·ÖÖ§(µ±Ç°Îª21)¶øÆäËüÊÇ¿ª·¢·ÖÖ§(µ±Ç°22)¡£Í¨³£Á½Õß¶¼ÊÇÎȶ¨µÄ£¬µ«ÊÇ¿ª·¢°æ±¾¿ÉÄÜÓÐ벡£¬Ð¹¦ÄÜȱ·¦Îĵµ»ò¿ÉÄÜÔÚijЩϵͳÉϱàÒëʧ°Ü¡£
17)ÊÇÔÚ´Ë·¢Ðм¶±ðµÄ°æ±¾ºÅ£¬ÕâËæÃ¿¸öзַ¢µÝÔö¡£Í¨³£ÄãÐèÒªÄãÒѾѡÔñµÄ·¢ÐÐ(release)µÄ×îа汾(version)¡£
beta)ÏÔʾ·¢ÐеÄÎȶ¨ÐÔ¼¶±ð¡£¿ÉÄܵĺó׺ÓУº alpha ±íÃ÷·¢Ðаüº¬´óÁ¿Î´±»100%²âÊÔµÄдúÂë¡£ÒÑÖªµÄ´íÎó(ͨ³£Ã»ÓÐ)Ó¦¸ÃÔÚÐÂÎÅС½Ú±»¼Ç¼¡£¼ûD MySQL ±äǨµÄÀúÊ·¼Ç¼¡£ÔÚ´ó¶àÊý alpha
°æ±¾Ò²ÓÐеÄÃüÁîºÍÀ©Õ¹¡£ beta
Òâζ×ÅËùÓеÄдúÂë±»²âÊÔÁË£¬Ã»ÓÐÔö¼ÓÖØÒªµÄÐÂÌØÕ÷£¬Ó¦¸ÃûÓÐÒÑÖªµÄ´íÎó¡£
gamma ÊÇÒ»¸ö·¢ÐÐÁËÒ»¶Îʱ¼äµÄbeta°æ±¾£¬¿´ÆðÀ´Ó¦¸ÃÔËÐÐÕý³£¡£Õâ¾ÍÊǺܶàÆäËû¹«Ë¾³ÆÎªÒ»¸ö·¢²¼µÄ¶«Î÷¡£
MySQLËùÓа汾¶¼¾¹ýÎÒÃǵıê×¼²âÊԺͻù×¼²âÊÔÔËÐУ¬ÒÔ±£Ö¤ËûÃÇ¿ÉÏ൱°²È«µØÊ¹Óá£ÒòΪ±ê×¼²âÊÔ²»¶ÏÀ©³äÒÔ¼ì²âÒÔǰ·¢ÏֵĴíÎ󣬲âÊÔÌ×¼þÒ»Ö±ÔڸĽøÖ®ÖС£
×¢Ò⣬ËùÓа汾¶¼ÖÁÉÙÒѾÓÃÏÂÁÐÌ×¼þ½øÐÐÁ˲âÊÔ£º
crash-me²âÊÔÆäËû²âÊÔÊÇÔÚÄÚ²¿µÄÉú²ú»·¾³ÖÐʹÓÃ×îÐÂMySQL°æ±¾£¬ÖÁÉÙÔÚһ̨»úÆ÷ÉÏ¡£ÎÒÃÇÓг¬¹ý100GBµÄÊý¾Ý¿ÉÓÃʹÓá£
ÔÚTcX£¬MySQL½øÕ¹µÄÏ൱¿ì£¬²¢ÇÒÎÒÃÇÏëÒªÓëÆäËüMySQLÓû§·ÖÏíËü¡£µ±ÎÒÃÇÓÐÒ»¸ö¿´À´ÆäËüÈËËÆºõÐèÒªµÄ·Ç³£ÓÐÓõŦÄÜʱ£¬ÎÒÃǾÍÊÔ×ÅÖÆ×÷Ò»¸ö·¢Ðа汾¡£
ÎÒÃÇÒ²³¢ÊÔ°ïÖúÄÇЩÐèÒªºÜÈÝÒ×ʵÏֵŦÄܵÄÓû§£¬ÎÒÃÇÒ²¹Ø×¢ÎÒÃÇÊÚȨµÄÓû§ÏëҪʲô£¬ÎÒÃǸüÌØ±ð¹Ø×¢ÎÒÃǵÄÀ©Õ¹µç×ÓÓʼþÖ§³ÖµÄ¿Í»§ÏëҪʲô£¬²¢ÇÒ¾¡Á¦°ïÖúËûÃÇ¡£
ûÓÐÈËÒ»¶¨ÒªÏÂÔØÒ»¸öа汾£¬ÐÂÎÅС½ÚÖн«¸æËßÄãа汾ÊÇ·ñÓÐһЩÄãȷʵÏëÒªµÄ¶«Î÷¡£¼ûD MySQL ±äǨµÄÀúÊ·¼Ç¼¡£
µ±¸üÐÂMySQLʱ£¬ÎÒÃÇʹÓÃÏÂÁз½Õ룺
µ±Ç°µÄÎȶ¨°æ±¾ÊÇ3.22£»ÎÒÃÇÒÑ¾×ªÒÆµ½3.23µÄ»ý¼«¿ª·¢ÖС£ÔÚÎȶ¨°æ±¾ÖУ¬´íÎóÈÔ½«±»ÐÞ¸´¡£ÎÒÃDz»ÏàÐÅÒ»¸öÍêÈ«¶³½á£¬ÒòΪÕâÒ²ÁôϵĴíÎóÐÞ¸´ºÍ¡°±ØÐë×ö¡±µÄÊÂÇé¡£¡°Ä³Ö̶ֳȵͳ½á¡±Òâζ×ÅÎÒÃÇ¿ÉÒÔÔö¼ÓС¶«Î÷£¬Ëü¡°½«¼¸ºõ¿Ï¶¨²»Ó°ÏìÒѾÄܹ¤×÷µÄÈκζ«Î÷¡±¡£
Õâ½ÚÃèÊö°²×°¶þ½øÖÆ´úÂëºÍÔ´´úÂë·Ö·¢Ê±´´½¨µÄȱʡĿ¼²¼¾Ö¡£
¶þ½øÖÆ·Ö·¢Í¨¹ýÔÚÄãÑ¡ÔñµÄ°²×°µØµã(µäÐ͵ġ°/usr/local/mysql¡±)½âѹËõÀ´°²×°£¬²¢ÇÒÔڸô¦´´½¨ÏÂÁÐĿ¼£º
| Ŀ¼ | Ŀ¼µÄÄÚÈÝ |
| ¡°bin¡± | ¿Í»§³ÌÐòºÍmysqld·þÎñÆ÷ |
| ¡°data¡± | ÈÕÖ¾Îļþ, Êý¾Ý¿â |
| ¡°include¡± | °üº¬(Í·)Îļþ |
| ¡°lib¡± | ¿âÎļþ |
| ¡°scripts¡± | mysql_install_db |
| ¡°share/mysql ¡± | ´íÎóÏûÏ¢Îļþ |
| ¡°sql-bench¡± | »ù×¼³ÌÐò |
Ô´´úÂë·Ö·¢ÔÚÄãÅäÖò¢±àÒëºó½øÐа²×°¡£È±Ê¡µØ£¬°²×°²½Ö轫Îļþ°²×°ÔÚ¡°/usr/local¡±ÏµÄÏÂÁÐ×ÓĿ¼£º
| Ŀ¼ | Ŀ¼µÄÄÚÈÝ |
| ¡°bin¡± | ¿Í»§³ÌÐòºÍ½Å±¾ |
| ¡°include/mysql¡± | °üº¬(Í·)Îļþ |
| ¡°info¡± | Info¸ñʽµÄÎĵµ |
| ¡°lib/mysql¡± | ¿âÎļþ |
| ¡°libexec¡± | mysqld·þÎñÆ÷ |
| ¡°share/mysql¡± | ´íÎóÏûÏ¢Îļþ |
| ¡°sql-bench¡± | »ù×¼³ÌÐòºÍcrash-me²âÊÔ |
| ¡°var¡± | Êý¾Ý¿âºÍÈÕÖ¾Îļþ¡£ |
ÔÚÒ»¸ö°²×°Ä¿Â¼ÄÚ£¬Ô´´úÂë°²×°µÄ²¼¾ÖÔÚÏÂÁз½Ã治ͬÓÚ¶þ½øÖư²×°£º
mysqld·þÎñÆ÷±»°²×°ÔÚ¡°libexec¡±Ä¿Â¼¶ø²»ÊÇ¡°bin¡±Ä¿Â¼ÄÚ¡£
mysql_install_db±»°²×°ÔÚ¡°/usr/local/bin¡±Ä¿Â¼¶ø·Ç¡°/usr/local/mysql/scripts¡±ÄÚ¡£
ÄãÐèÒªÏÂÁй¤¾ß°²×°Ò»¸öMySQL¶þ½øÖÆ·Ö·¢£º
gunzip½âѹËõ·Ö·¢¡£ tar½â°ü·Ö·¢¡£ GNU tarÒÑÖª¿ÉÒÔ¡£ ÔÚLinuxϵÄÁíÒ»¸ö°²×°·½·¨ÊÇʹÓÃRPM(RedHat°ü¹ÜÀíÆ÷)·Ö·¢¡£¼û4.6.1 Linux RPM ×¢ÒâÊÂÏî¡£
Èç¹ûÄãÅöµ½ÎÊÌ⣬ÔÚ°ÑÎÊÌâÓʼĵ½mysql@lists.mysql.comʱ£¬Çë×ÜÊÇʹÓÃmysqlbug£¬¾ÍËãÎÊÌâ²»ÊÇÒ»¸öbug£¬mysqlbugÊÕ¼¯ÏµÍ³ÐÅÏ¢£¬½«ÓÐÖúÓÚÆäËüÈ˽â¾öÄãµÄÎÊÌâ¡£²»Ê¹ÓÃmysqlbug£¬Ä㽫¼õÉٵõ½ÄãÎÊÌâµÄÒ»¸ö½â¾ö·½°¸µÄ¿ÉÄÜÐÔ£¡ÔÚÄã½â°ü·Ö·¢ºó£¬Äã»áÔÚ¡°bin¡±Ä¿Â¼ÏÂÕÒµ½mysqlbug¡£¼û2.3 ÔõÑù±¨¸æ´íÎó»òÎÊÌâ¡£
Äã±ØÐëÖ´ÐÐÒԱ㰲װ²¢Ê¹ÓÃÒ»¸öMySQL¶þ½øÖÆ·Ö·¢µÄ»ù±¾ÃüÁîÊÇ£º
shell> gunzip < mysql-VERSION-OS.tar.gz |tar xvf - shell> ln - s mysql-VERSION-OS mysql shell> cd mysql shell> scripts/mysql_install_db shell> bin/safe_mysqld &
Èç¹ûÄã°²×°ÁËDBIºÍMsql-Mysql-modulesPerlÄ£¿é£¬Äã¿ÉÒÔʹÓÃbin/mysql_setpermission½Å±¾Ôö¼ÓÐÂÓû§¡£
ÒÔÏÂÊǸüÏêϸµÄÃèÊö£º
¶ÔÓÚ°²×°¶þ½øÖÆ·Ö·¢£¬×ñÑÒÔϲ½Ö裬Ȼºó¼ÌÐøµ½4.15 °²×°ºóÆÚµÄÉèÖÃÓë²âÊÔ£¬½øÐа²×°ºóÆÚµÄÉèÖúͲâÊÔ£º
rootʵʩ°²×°¡£)
tarÎĵµÌṩ£¬²¢ÇÒÓÐÀàËÆ¡°mysql-VERSION-OS.tar.gz¡±µÄÃû×Ö£¬ÕâÀïVERSIONÊÇÒ»¸öÊý×Ö(ÀýÈ磬3.21.15)£¬ÇÒOS±íÃ÷·Ö·¢ÄÜÔËÐеIJÙ×÷ϵͳÀàÐÍ(ÀýÈ磬pc-linux-gnu-i586)¡£
shell> gunzip < mysql-VERSION-OS.tar.gz |tar xvf - shell> ln - s mysql-VERSION-OS mysql
µÚÒ»¸öÃüÁî´´½¨Ò»¸öÃûΪ¡°mysql-VERSION-OS¡±µÄĿ¼£¬µÚ¶þ¸öÃüÁîÉú³Éµ½¸ÃĿ¼µÄÒ»¸ö·ûºÅÁ´½Ó¡£ÕâÈÃÄã¸üÈÝÒ׵ذѰ²×°Ä¿Â¼Ö¸¶¨Îª¡°/usr/local/mysql¡±¡£
shell> cd mysql
Äã»áÔÚmysqlĿ¼Ï·¢ÏÖ¼¸¸öÎļþºÍ×ÓĿ¼£¬¶Ô°²×°Ä¿µÄ×îÖØÒªµÄÊÇ¡°bin¡±ºÍ¡°scripts¡±×ÓĿ¼¡£
mysqlaccess¶øÔÚij¸ö·Ç±ê×¼µÄµØµãÓÐMySQL·Ö·¢£¬Äã±ØÐë¸Ä±äµØµã£¬ÔÚÄĶùmysqlaccessÆÚÍûÕÒµ½mysql¿Í»§¡£±à¼¡°bin/mysqlaccess¡±½Å±¾£¬´óÔ¼ÔÚµÚ18ÐУ¬Ñ°ÕÒÀàËÆÏÂÃæµÄÐУº
$MYSQL = ¡°/usr/local/bin/mysql¡±;¡¡# path to mysql executable
¸Ä±ä·¾¶ÒÔ·´Ó³³ömysqlʵ¼Ê´æ´¢ÔÚÄãϵͳÉϵĵص㡣Èç¹ûÄã²»ÕâÑù×ö£¬µ±ÄãÔËÐÐmysqlaccessʱ£¬Ä㽫µÃµ½Ò»¸öbroken
pipeµÄ´íÎó¡£
shell> scripts/mysql_install_db
×¢Òâµ±ÄãÔËÐÐʱmysql_install_dbʱ£¬±È°æ±¾3.22.10ÀϵÄMySQL°æ±¾Æô¶¯MySQL·þÎñÆ÷¡£Õâ²»ÔÙÊÇÕæµÄÁË£¡
DBI/DBD½Ó¿ÚµÄÖ§³Ö£¬¼û4.10 Perl°²×°×¢ÒâÊÂÏî¡£ support-files/mysql.serverÎļþµ½ÄãϵͳÓÐÆô¶¯ÎļþµÄµØ·½¡£¸ü¶àµÄÐÅÏ¢¿ÉÒÔÔÚsupport-files/mysql.server½Å±¾ÖкÍ4.15.3 ×Ô¶¯Æô¶¯ºÍÍ£Ö¹MySQLÕÒµ½¡£
ÔÚËùÓж«Î÷±»½â°ü²¢ÇÒ°²×°ÒÔºó£¬ÄãÓ¦¸Ã³õʼ»¯²¢ÇÒ²âÊÔÄãµÄ·Ö·¢¡£
Äã¿ÉÒÔÓÃÏÂÁÐÃüÁîÆô¶¯MySQL·þÎñÆ÷£º
shell> bin/safe_mysqld &
ÔÚLinuxÉϰ²×°MySQLÍÆ¼öµÄ·½·¨ÊÇʹÓÃÒ»¸öRPMÎļþ¡£MySQL
RPMĿǰÊÇÔÚÒ»¸ö RedHat 5.2 ϵͳÉϽ¨Á¢µÄ£¬µ«ÊÇÓ¦¸ÃÄܹ¤×÷ÔÚÖ§³ÖrpmÇÒʹÓÃglibcµÄÆäËû
Linux °æ±¾ÉÏ¡£
Èç¹ûÒ»¸öRPMÎļþÓÐÎÊÌ⣬ÀýÈçSorry, the host 'xxxx' could not be looked
up£¬¼û4.6.3.1 Linux
×¢ÒâÊÂÏî¡£
Äã¿ÉÄÜҪʹÓõÄRPMÎļþÓУº
MySQL-VERSION.i386.rpm MySQL·þÎñÆ÷¡£³ý·ÇÄãÖ»ÊÇÏëÒªÓëÔËÐÐÔÚÆäËû»úÆ÷ÉÏMySQL·þÎñÆ÷Á¬½Ó£¬·ñÔòÄ㽫ÐèÒªËü¡£
MySQL-client-VERSION.i386.rpm ±ê×¼MySQL¿Í»§³ÌÐò¡£Äã¿ÉÄÜ×ÜÊÇÐèÒª°²×°Õâ¸ö°ü¡£
MySQL-bench-VERSION.i386.rpm ²âÊԺͻù×¼³ÌÐò¡£ÐèÒªPerlºÍmsql-mysql-modules
RPM¡£ MySQL-devel-VERSION.i386.rpm
ËùÐèµÄ¿âºÍ°üº¬Îļþ¡£Èç¹ûÄãÏëÒª±àÒëÆäËûMySQL¿Í»§³ÌÐò,
ÀýÈçPerlÄ£¿é¡£ MySQL-VERSION.src.rpm
°üº¬ÉÏÊöËùÓаüµÄÔ´´úÂë¡£ËüÒ²Äܱ»ÓÃÀ´³¢ÊÔΪÆäËûÓ²¼þƽ̨¹¹ÔìRPM(ÀýÈ磬Alpha»òSPARC)¡£
²é¿´Ò»¸öRPM°üÖеÄËùÓÐÎļþ£º
shell> rpm - qpl MySQL-VERSION.i386.rpm
ʵʩһ¸ö±ê×¼µÄ×îС°²×°£¬ÔËÐÐÕâ¸öÃüÁ
shell> rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm
Ö»°²×°¿Í»§°ü£º
shell> rpm -i MySQL-client-VERSION.i386.rpm
RPM½«Êý¾Ý·ÅÔÚ¡°/var/lib/mysql¡±ÀRPMÒ²ÔÚ¡°/etc/rc.d/¡±Àï´´½¨Êʵ±µÄÈë¿ÚÒÔ±ãÔÚÒýµ¼Ê±×Ô¶¯Æô¶¯·þÎñÆ÷¡££¨ÕâÒâζ×ÅÈç¹ûÄãÒÔǰÒѾ°²×°¹ý£¬ÔÚ¶ÔËü¸Ä±ä֮ǰ£¬Äã¿ÉÒÔ°ÑÄãÒÔǰ°²×°µÄMySQLÆô¶¯Îļþ×ö¸ö¿½±´£¬Òò´ËÄã²»»á¶ªÊ§¸Ä¶¯£©¡£
ÔÚ°²×°ÁËRPMÎļþºó£¬¡°mysqld¡±ÊØ»¤³ÌÐòÓ¦¸ÃÕýÔÚÔËÐУ¬²¢ÇÒÏÖÔÚÄãÓ¦¸Ã¿ÉÒÔ¿ªÊ¼Ê¹ÓÃMySQL¡£¼û4.15 °²×°ºóÆÚµÄÉèÖúͲâÊÔ¡£
Èç¹ûһЩ¶«Î÷³ö´í£¬¿ÉÒÔÔÚ¶þ½øÖƵݲװһ½ÚÀïÕÒµ½¸ü¶àµÄÐÅÏ¢¡£¼û4.6 °²×°MySQL¶þ½øÖÆ´úÂë·Ö·¢¡£
Èç¹ûÄã±àÒëÄã×Ô¼ºÐ´µÄ»òÄã´ÓµÚÈý·½»ñµÃµÄMySQL¿Í»§³ÌÐò£¬ËûÃDZØÐëÓÃlinkÃüÁîµÄ-lmysqlclientÑ¡Ïî½øÐÐÁ´½Ó¡£Äã¿ÉÄÜÒ²ÐèÒªÖ¸¶¨Ò»¸ö
-L
Ñ¡Ï¸æËßÁ´½ÓÆ÷ÔÚÄĶù²éÕÒ¿âÎļþ¡£ÀýÈ磬Èç¹û¿âÎļþ°²×°ÔÚ¡°/usr/local/mysql/lib¡±ÀÔÚÁ´½ÓÃüÁîÉÏʹÓÃ
-L/usr/local/mysql/lib -lmysqlclient¡£
¶ÔʹÓÃMySQLÍ·ÎļþµÄ¿Í»§³ÌÐò£¬µ±Äã±àÒëËûÃÇʱ£¬Äã¿ÉÄÜÐèÒªÖ¸¶¨Ò»¸ö
-I Ñ¡Ïî(ÀýÈ磬-I/usr/local/mysql/include)£¬
ʹµÃ±àÒëÆ÷ÄÜÕÒµ½Í·Îļþ¡£
ÏÂÒ»½Ú˵Ã÷ÔÚ´ÓÒ»¸ö¶þ½øÖÆ·Ö·¢°²×°MySQLʱ£¬ÒѾÔÚÌØ¶¨µÄϵͳÉϹ۲쵽ÒÑ·¢Éú¹ýһЩÎÊÌâ¡£
MySQLÐèÒªÖÁÉÙLinux 2.0¡£
¶þ½øÖÆ·¢ÐаæÓÃ-staticÁ´½ÓµÄ£¬ÕâÒâζ×ÅÄãÒ»°ã²»±Øµ£ÐÄÄãÓµÓеÄϵͳ¿âÊÇÄĸö°æ±¾¡£ÄãÒ²²»±Ø°²×°LinuxThreads¡£Ò»¸öÓÃ-staticÁ´½ÓµÄ³ÌÐò±ÈÒ»¸ö¶¯Ì¬Á´½Ó³ÌÐòÉÔ´óЩµ«¸ü¿ì(3-5%)¡£È»¶ø£¬Ò»¸öÎÊÌâÊÇÄã²»ÄÜʹÓþ²Ì¬Á´½ÓµÄÓû§¶¨Ò庯Êý(UDF)¡£Èç¹ûÄã×¼±¸±àд»òʹÓÃUDFº¯Êý(ÕâÖ»¶ÔC»òC++³ÌÐòÔ±)£¬Äã±ØÐë±àÒëMySQL±¾Éí£¬Ê¹Óö¯Ì¬Á´½Ó¡£
Èç¹ûÄãÕýÔÚʹÓÃÒ»¸ö»ùÓÚlibc-µÄϵͳ(¶ø²»ÊÇÒ»¸öglibc2ϵͳ)£¬Ä㽫¿ÉÄÜÅöµ½¶þ½øÖÆ·¢ÐеÄÖ÷»úÃû½âÎöºÍgetpwnam()µÄһЩÎÊÌ⣨ÕâÊÇÒòΪglibc²»ÐÒµØÒÀÀµÓÚһЩ°üÀ¨½âÎöÖ÷»úÃûºÍgetwpent()µÄÍⲿ¿â£¬ÉõÖÁÔÚÓÃ-static±àÒëʱ)¡£ÔÚÕâÖÖÇé¿öÏ£¬µ±ÄãÔËÐÐmysql_install_dbʱ£¬Äã¿ÉÄܵõ½ÏÂÁдíÎóÐÅÏ¢£º
sorry, the host 'xxxx' could not be looked up
»òµ±Äã³¢ÊÔÒÔ --user Ñ¡ÏîÔËÐÐ mysqld ʱµÄÏÂÁдíÎó£º
getpwnam : No such fileor directory
ÄãÄÜÓÃÏÂÁз½·¨Ö®Ò»½â¾öÕâ¸öÎÊÌ⣺
tar·Ö·¢)²¢ÇÒ°²×°Ëü¡£
mysql_install_db --force£»Õ⽫²»Ö´ÐÐmysql_install_dbÀïÃæµÄresolveip²âÊÔ¡£È±µãÊÇÄã²»ÄÜÔÚÊÚȨ±íÖÐʹÓÃÖ÷»úÃû×Ö£»Ïà·´Äã±ØÐëʹÓÃIPÊý×Ö(³ýÁËlocalhost)¡£Èç¹ûÄãÕýÔÚʹÓÃÒ»¸öÀϵIJ»Ö§³Ö--forceµÄMySQL°æ±¾£¬Äã±ØÐëÓÃ±à¼Æ÷ɾ³ýmysql_installÖеÄresolveip²âÊÔ¡£suÆô¶¯mysqld¶ø²»Ê¹ÓÃ--user¡£MySQLµÄLinux-Intel¶þ½øÖÆ´úÂëºÍRPM·¢ÐаæÊÇΪ×î¸ß¿ÉÄܵÄËٶȶøÅäÖõġ£ÎÒÃÇ×ÜÊÇŬÁ¦Ê¹ÓÿÉÓõÄ×î¿ìµÄÎȶ¨µÄ±àÒëÆ÷¡£
MySQLµÄPerlÖ§³ÖÒªÇóPerl 5.004_03»ò¸üС£
Õë¶ÔHP-UXµÄMySQL¶þ½øÖÆ·Ö·¢×÷Ϊһ¸öHP depot£¨²Ö¿â£©»òtar Îļþ¸ñʽ·Ö·¢µÄ¡£ÎªÁËʹÓÃdepotÎļþ£¬Äã±ØÐëÔËÐÐÖÁÉÙHP-UX 10.x ÒÔ±ã·ÃÎÊHPµÄÈí¼þ²Ö¿â¹¤¾ß¡£
MySQLµÄHP°æ±¾ÔÚÔËÐÐHP-UX 10.20ϵÄHP 9000/8xx ·þÎñÆ÷ÉϱàÒ룬²¢ÇÒʹÓÃMIT-pthreads¡£ËüÒÑÖª¿ÉÔÚÕâÖÖÅäÖÃϺܺõع¤×÷¡£MySQL 3.22.26ºÍ¸üаæÒ²ÓÃHPÔÉúḬ̈߳ü¹¹Ôì¡£
ÆäËû¿ÉÒÔÔËÐеÄÅäÖãº
ÏÂÁÐÅäÖü¸ºõ¿Ï¶¨²»ÄÜÔËÐУº
ΪÁ˰²×°·Ö·¢£¬Ê¹ÓÃÏÂÃæµÄÃüÁîÖ®Ò», ÕâÀï/path/to/depotÊDzֿâÎļþµÄÍêÕû·¾¶£º
shell> /usr/sbin/swinstall - s /path/to/depot mysql.full
shell> /usr/sbin/swinstall - s /path/to/depot mysql.server
shell> /usr/sbin/swinstall - s /path/to/depot mysql.client
shell> /usr/sbin/swinstall - s /path/to/depot mysql.developer
depotÔÚ¡°/opt/mysql¡±´æ·Å¶þ½øÖÆ´úÂëºÍ¿âÎļþ²¢ÔÚ¡°/var/opt/mysql¡±´æ·ÅÊý¾Ý¡£depotÒ²ÔÚ¡°/sbin/init.d¡±ºÍ¡°
/sbin/rc2.d¡±Àï´´½¨Êʵ±µÄÈë¿ÚÒÔ×Ô¶¯µØÔÚÒýµ¼Ê±Æô¶¯·þÎñÆ÷¡£ÏÔÈ»,
ÕâÓбØÒªÒÔrootÉí·ÝÀ´°²×°¡£
ΪÁ˰²×°HP-UX tar·Ö·¢£¬Äã±ØÐëÓÐGNU tarµÄÒ»¸ö¿½±´¡£
ÄãÐèÒªÏÂÁй¤¾ß¹¹Ôì²¢°²×°MySQLÔ´´úÂ룺
gunzip½âѹËõ¸Ã·Ö·¢¡£ tar½â°ü·Ö·¢¡£GNU tarÒÑÖª¿ÉÒÔ¹¤×÷¡£ gcc> = 2.8.1 ¡¢egcs>
= 1.0.2 ¡¢SGI C++ºÍSunPro C++ÊÇһЩÒÑÖªÄܹ¤×÷±àÒëÆ÷¡£ µ±Ê¹gccÓÃʱ£¬²»ÐèÒªlibg++¡£gcc2.7.x
ÓÐÒ»¸öbug£¬Ê¹µÃËü¿ÉÄܲ»ÄܱàÒëһЩÍêÈ«ºÏ·¨µÄC++Îļþ£¬ÀýÈç¡°sql/sql_base.cc¡±¡£Èç¹ûÄã½öÓÐgcc2.7.x£¬Äã±ØÐëÉý¼¶gcc²ÅÄܱàÒëMySQL¡£
make³ÌÐò¡£GNU make×ÜÊDZ»ÍƼöÇÒÓÐʱ±ØÐë¡£Èç¹ûÄãÓÐÎÊÌ⣬ÎÒÃÇÍÆ¼öÊÔÒ»ÊÔGNU
make3.75»ò¸üС£ Èç¹ûÄãÓöµ½ÎÊÌ⣬µ±Ïòmysql@lists.mysql.comÓʼÄÎÊÌâʱ£¬ÇëһֱʹÓÃmysqlbug¡£¾ÍËãÎÊÌâ²»ÊÇÒ»¸öbug£¬mysqlbugÊÕ¼¯ÏµÍ³ÐÅÏ¢£¬½«ÓÐÖúÓÚÆäËüÈ˽â¾öÄãµÄÎÊÌâ¡£Èç¹û²»Ê¹ÓÃmysqlbug£¬Äã¼õÉٵõ½¹ØÄãÎÊÌâµÄÒ»¸ö½â¾ö·½°¸µÄ¿ÉÄÜÐÔ£¡ÔÚÄã½â°ü·Ö·¢ºó£¬Äã»áÔÚ¡°scripts¡±Ä¿Â¼ÏÂÕÒµ½mysqlbug¡£¼û2.3 ÔõÑù±¨¸æ´íÎó»òÎÊÌâ¡£
Äã±ØÐëÖ´ÐеݲװMySQLÔ´´úÂë·Ö·¢µÄ»ù±¾ÃüÁîÊÇ(´ÓÒ»¸ö½â°üµÄtarÎļþ)£º
shell>configure shell>make shell>make install shell>scripts/mysql_install_db shell>/usr/local/mysql/bin/safe_mysqld &
Èç¹ûÄã´ÓÒ»¸öÔ´´úÂëRPM¿ªÊ¼£¬ÄÇôִÐÐÈçÏÂÃüÁî¡£
shell> rpm -- rebuild MySQL-VERSION.src.rpm
ÕâÑùÄãÖÆ×÷Ò»¸ö¿ÉÒÔ°²×°µÄ¶þ½øÖÆRPM¡£
Èç¹ûÄã°²×°ÁËDBIºÍMsql-Mysql-modulesPerlÄ£¿é£¬Äã¿ÉÒÔÀûÓÃbin/mysql_setpermission½Å±¾Ôö¼ÓÐÂÓû§¡£
ÒÔÏÂÊǸüÏêϸµÄÃèÊö£º
ΪÁ˰²×°Ô´´úÂë·Ö·¢£¬°´ÕÕÏÂÁв½Ö裬Ȼºó¼ÌÐøµ½4.15 °²×°ºóÆÚµÄÉèÖÃÓë²âÊÔ£¬½øÐа²×°ºóÆÚµÄ³õʼ»¯Óë²âÊÔ¡£
tarµµ°¸Ìṩ£¬²¢ÇÒÓÐÀàËÆÓÚ¡°mysql-VERSION.tar.gz¡±µÄÃû×Ö£¬ÕâÀïµÄVERSIONÊÇÒ»¸öÀàËÆ3.23.7-alphaµÄÊý×Ö¡£
shell> gunzip < mysql-VERSION.tar.gz | tar xvf -
Õâ¸öÃüÁî´´½¨ÃûΪ¡°mysql-VERSION¡±µÄÒ»¸öĿ¼¡£
shell> cd mysql-VERSION
shell>./configure--prefix=/usr/local/mysql shell>make
µ±ÄãÔËÐÐconfigureʱ£¬Äã¿ÉÄÜÏëÒªÖ¸¶¨Ò»Ð©Ñ¡ÏÔËÐÐ./configure
--helpµÃµ½Ò»ÕÅÑ¡Ïî±í¡£4.7.3
µäÐ͵ÄconfigureÑ¡ÏîÌÖÂÛһЩºÜÓÐÓõÄÑ¡Ïî¡£Èç¹ûconfigureʧ°Ü£¬Ä㽫·¢ËͰüº¬ÄãÈÏΪÄܰïÄã½â¾ö¸ÃÎÊÌâµÄ¡°config.log¡±µÄÓʼþ£¬Èç¹ûconfigureÒì³£Í˳ö£¬Ò²Òª°üÀ¨configureµÄ×îºó¼¸ÐÐÊä³ö¡£ÓÃmysqlbug½Å±¾ÓʼĴíÎ󱨸档¼û2.3 ÔõÑù±¨¸æ´íÎóºÍÎÊÌâ¡£Èç¹û±àÒëʧ°Ü£¬¼û½Ú4.8 ±àÒëÎÊÌ⣿£¬°ïÖú½â¾öºÜ¶à³£¼ûÎÊÌâ¡£
shell>make install
Äã¿ÉÄÜÐèÒªrootÓû§À´ÔËÐÐÕâ¸öÃüÁî¡£
shell>scripts/mysql_install_db
×¢Ò⣬ÔÚÔËÐÐmysql_install_dbʱ£¬ÄÇЩ±È3.22.10¾ÉµÄMySQL°æ±¾Æô¶¯MySQL·þÎñÆ÷¡£ÏÖÔÚ²»ÊÇÕâÑùÁË£¡
DBI/DBD½Ó¿ÚµÄÖ§³Ö£¬¼û4.10 Perl°²×°×¢Òâ˵Ã÷¡£ support-files/mysql.serverµ½ÄãµÄϵͳÖÐÓÐÆô¶¯ÎļþµÄµØ·½¡£¸ü¶àµÄÐÅÏ¢¿ÉÒÔÔÚsupport-files/mysql.server½Å±¾ÀïºÍ4.15.3 ×Ô¶¯Æô¶¯ºÍÍ£Ö¹MySQLÕÒµ½¡£
ÔÚËùÓж«Î÷°²×°ÍêÒÔºó£¬ÄãÓ¦¸Ã³õʼ»¯²¢ÇÒ²âÊÔÄãµÄ·Ö·¢¡£
Äã¿ÉÒÔÓÃÏÂÁÐÃüÁîÆô¶¯MySQL·þÎñÆ÷£¬ÕâÀïBINDIRÊÇsafe_mysqld±»°²×°µÄĿ¼(ȱʡΪ¡°/usr/local/bin¡±)£º
shell> BINDIR/safe_mysqld &
Èç¹ûÕâ¸öÃüÁîÌáʾmysqld daemon ended²¢ÂíÉÏʧ°Ü£¬ÄÇôÄãÄÜÔÚÎļþ¡°mysql-data-directory/'hostname'.err¡±ÕÒµ½Ò»Ð©ÐÅÏ¢¡£¿ÉÄܵÄÔÒòÊÇÄãÒѾÓÐÁíÍâÒ»¸öÕýÔÚÔËÐеÄmysqld·þÎñÆ÷¡£¼û19.3 ÔÚͬһ̨»úÆ÷ÉÏÔËÐжà¸öMySQL·þÎñÆ÷¡£
²Î¼û4.15 °²×°ºóÆÚµÄÉèÖÃÓë²âÊÔ¡£
ÓÐʱ²¹¶¡³öÏÖÔÚÓʼþÁбíÉÏ»ò·ÅÔÚMySQL FTPµØµãµÄ²¹¶¡Çø¡£
ΪÁËʹÓÃÀ´×ÔÓʼþÁбíµÄÒ»¸ö²¹¶¡£¬±£´æ²¹¶¡³öÏÖÔÚÎļþµÄÏûÏ¢£¬½øÈëÄãµÄMySQLÔ´´úÂëÊ÷µÄ¶¥¼¶Ä¿Â¼²¢ÔËÐÐÕâЩÃüÁ
shell>patch - p1 <patch-file-name shell>rm config.cache shell>make clean
À´×ÔFTPµØµãµÄ²¹¶¡ÊÇ×÷ΪÆÕͨÎı¾Îļþ»ò×÷Ϊ±»Ñ¹ËõÁ˵ÄgzipÎļþ·Ö·¢¡£ÔËÓÃÒ»¸öÎı¾µÄ²¹¶¡ÈçÉÏÊöÓʼþÁÐ±í²¹¶¡£¬ÎªÁËʹÓÃÒ»¸öѹËõµÄ²¹¶¡£¬½øÈëÄãµÄMySQLÔ´´úÂëÊ÷¶¥¼¶Ä¿Â¼²¢ÔËÐÐÕâЩÃüÁ
shell>gunzip <patch-file-name.gz |patch - p1 shell>rm config.cache shell>make clean
ÔÚʹÓÃÒ»¸ö²¹¶¡ÒԺ󣬰´ÕÕÕý³£µÄÔ´´úÂë°²×°µÄÖ¸Á¿ªÊ¼./configure²½Öè¡£ÔÚÔËÐÐmake
installºó£¬ÖØÆôÄãµÄMySQL·þÎñÆ÷¡£
ÔÚÔËÐÐmake installǰ£¬Äã¿ÉÄÜÐèÒª¹Ø±ÕËùÓÐÕýÔÚÔËÐеķþÎñÆ÷£¨Ê¹ÓÃmysqladmin
shutdown)¡£Èç¹ûÒ»¸ö³ÌÐòµÄÐÂ°æ±¾Ìæ´úµ±Ç°ÕýÔÚÖ´Ðеİ汾£¬Ò»Ð©ÏµÍ³²»ÔÊÐíÄã°²×°Ëü¡£
µÄconfigureÑ¡Ïîconfigure½Å±¾¸øÄãÒ»¸öºÜ´óµÄ¿ØÖÆÈ¨À´ÈçºÎÅäÖÃÄãµÄMySQL·Ö·¢¡£µäÐ͵أ¬ÄãʹÓÃconfigureÃüÁîÐеÄÑ¡Ïî½øÐС£ÄãÒ²¿ÉÒÔÓÃÕýÈ·µÄ»·¾³±äÁ¿×÷ÓÃÓÚconfigure¡£¶ÔÓÚÒ»¸öÓÉconfigureÖ§³ÖµÄÑ¡ÔñÁÐ±í£¬ÔËÐÐÕâ¸öÃüÁ
shell> ./configure -- help
һЩ¸ü³£ÓõÄconfigureÑ¡Ïî¼ûÏÂÃæµÄÃèÊö£º
--without-serverÑ¡Ï
shell> ./configure --without-server
Èç¹ûÄãûÓÐÒ»¸ö C++ ±àÒëÆ÷£¬mysql½«²»±àÒë(ÓÐÒ»¸ö¿Í»§³ÌÐòÐèÒªC++)¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔÈ¥µôconfigureÀïÃæ²âÊÔC++±àÒëÆ÷µÄ´úÂ룬ȻºóÔËÐдøÓÐ
--without-serverÑ¡ÏîµÄ./configure¡£±àÒë²½Öè²½½«ÈÔÈ»³¢ÊÔ¹¹Ôìmysql£¬µ«ÊÇÄã¿ÉÒÔºöÂÔÈκιØÓÚ¡°
mysql.cc ¡±µÄ¾¯¸æ¡££¨Èç¹ûmakeÍ£Ö¹£¬ÊÔÊÔmake -k¸æËßËü¼´Ê¹³ö´í¼ÌÐøÊ£ÏµĹ¹Ôì²½Ö裩¡£
configureÃüÁîµÄÒ»¸ö£º
shell>./configure--prefix=/usr/local/mysql shell>./configure--prefix=/usr/local --localstatedir=/usr/local/mysql/data
µÚÒ»¸öÃüÁî¸Ä±ä°²×°Ç°×ºÒÔ±ãÈκζ«Î÷±»°²×°ÔÚ¡°/usr/local/mysql¡±ÏÂÃæ¶ø·ÇȱʡµÄ¡°/usr/local¡±¡£µÚ¶þ¸öÃüÁî±£Áôȱʡ°²×°Ç°×º£¬µ«ÊǸ²¸ÇÁËÊý¾Ý¿âĿ¼ȱʡĿ¼(ͨ³£ÊÇ¡°/usr/local/var¡±)²¢ÇÒ°ÑËü¸Ä/usr/local/mysql/data.
configureµÄÃüÁ
shell> ./configure -- with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
×¢Òâ¸ø³öµÄÎļþ±ØÐëÊÇÒ»¸ö¾ø¶Ô·¾¶£¡
configure£º
shell>./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
gcc²¢ÇÒûÓа²×°libg++»òlibstdc++£¬Äã¿ÉÒÔ¸æËßconfigureʹÓÃgcc×÷ΪC++±àÒëÆ÷£º
shell> CC=gcc CXX=gcc ./configure
µ±ÄãʹÓÃʱgcc×÷ΪC++±àÒëÆ÷ÊÇ£¬Ëü½«²»ÊÔͼÁ´½Ólibg++»òlibstdc++¡£Èç¹û¹¹Ôìʧ°Ü²¢ÇÒ²úÉúÓйرàÒëÆ÷»òÁ´½ÓÆ÷µÄ´íÎ󣬲»ÄÜ´´½¨¹²Ïí¿â¡°libmysqlclient.so.#¡±(¡°#¡±ÊÇÒ»¸ö°æ±¾ºÅ),
Äã¿ÉÒÔͨ¹ýΪconfigureÖ¸¶¨--disable-sharedÑ¡ÏîÀ´½â¾ö´ËÎÊÌâ¡£ÔÚÕâÖÖÇé¿öÏ£¬configure½«²»¹¹ÔìÒ»¸ö¹²Ïílibmysqlclient.so.#¿â¡£
NULLµÄÁв»Ê¹ÓÃDEFAULTÁÐÖµ(¼´£¬²»ÔÊÐíÁÐÊÇNULL)¡£Õâµ¼ÖÂINSERTÓï¾ä²úÉúÒ»¸ö´íÎ󣬳ý·ÇÄãÃ÷È·µØÎªËùÓÐÒªÇó·ÇNULLÖµµÄÁÐÖ¸¶¨Öµ¡£ÎªÁ˽ûֹʹÓÃȱʡֵ£¬ÕâÑùÔËÐÐconfigure£º
shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
--with-charsetÑ¡ÏîÄ¿£º
shell> ./configure -- with-charset=CHARSET
CHARSET¿ÉÒÔÊÇbig5¡¢cp1251¡¢cp1257¡¢czech¡¢danish¡¢dec8¡¢dos¡¢euc_kr¡¢gb2312
gbk¡¢german1¡¢hebrew¡¢ hp8¡¢hungarian¡¢koi8_ru¡¢koi8_ukr¡¢latin1¡¢latin2¡¢sjis¡¢swe7¡¢tis620¡¢ujis¡¢usa7¡¢win1251»òwin1251ukrÖ®Ò»¡£¼û9.1.1 ÓÃÓÚÊý¾ÝºÍÅÅÐòµÄ×Ö·û¼¯¡£×¢Ò⣺Èç¹ûÄãÏëÒª¸Ä±ä×Ö·û¼¯£¬Äã±ØÐëÔÚÅäÖÃÆÚ¼ä×ömake
distclean£¡Èç¹ûÄãÏëÔÚ·þÎñÆ÷ºÍ¿Í»§Ö®¼ä±ä»»×Ö·û£¬ÄãÓ¦¸Ã¿´Ò»ÏÂSET
OPTION CHARACTER SETÃüÁî¡£¼û7.25
SET OPTION¾ä·¨¡£¾¯¸æ£ºÈç¹ûÄãÔÚ´´½¨ÁËÈκÎÊý¾Ý¿â±íÖ®ºó¸Ä±ä×Ö·û¼¯£¬Ä㽫±ØÐë¶Ôÿ¸ö±íÔËÐÐmyisamchk
-r -q£¬·ñÔòÄãµÄË÷Òý¿ÉÄܲ»ÕýÈ·µØÅÅÐò¡££¨Èç¹ûÄã°²×°ÁËMySQL£¬´´½¨Ò»Ð©±í£¬È»ºóÖØÐÂÅäÖÃMySQLʹÓÃÒ»¸ö²»Í¬µÄ×Ö·û¼¯²¢ÇÒÖØÐ°²×°Ëü£¬Õâʱ¾Í¿ÉÄÜ·¢ÉúÕâÖÖÇé¿ö¡££©
--with-debugÑ¡Ï
shell> ./configure --with-debug
Õâµ¼Ö°üº¬Ò»¸ö°²È«µÄÄÚ´æ·ÖÅäÆ÷£¬ÄÜ·¢ÏÖһЩ´íÎóºÍ²¢Ìṩ¹ØÓÚÕýÔÚ·¢ÉúµÄÊÂÇéµÄÊä³ö¡£¼ûG.1µ÷ÊÔÒ»¸öMySQL·þÎñÆ÷¡£
ËùÓÐMySQL³ÌÐòÔÚSolarisÉÏʹÓÃgcc±àÒë²¢ÇÒûÓÐÈκξ¯¸æ¡£ÔÚÆäËûϵͳÉÏ£¬ÓÉÓÚϵͳ°üº¬ÎļþµÄ²î±ð¿ÉÄܻᷢÉú¾¯¸æ¡£¶ÔÓÚʹÓÃMIT-pthreadsʱ·¢ÉúµÄ¾¯¸æ£¬¼û4.9 MIT-pthreads ×¢ÒâÊÂÏî¡£ÆäËûÎÊÌ⣬¼ì²éÏÂÃæµÄ±í¡£
Ðí¶àÎÊÌâµÄ½â¾ö·½°¸Éæ¼°ÖØÐÂÅäÖá£Èç¹ûÄãȷʵÐèÒªÖØÐÂÅäÖã¬×¢ÒâÏÂÁÐÊÂÏ
configureÔÚËüÒѾ±»ÔËÐÐÁËÒÔºóÔËÐУ¬Ëü¿ÉÒÔʹÓÃÏÈǰÊÕ¼¯µÄÐÅÏ¢¡£Õâ¸öÐÅÏ¢±»´æ´¢ÔÚ¡°config.cache¡±ÀïÃæ¡£µ±configureÆô¶¯Ê±£¬ËüѰÕÒ¸ÃÎļþ¶øÇÒÈç¹ûËü´æÔÚ£¬¼Ù¶¨ÐÅÏ¢ÈÔÈ»ÊÇÕýÈ·µÄ£¬¶ÁÈëËüµÄÄÚÈÝ¡£µ±ÄãÖØÐÂÅäÖÃʱ£¬¸Ã¼ÙÉèÊÇÎÞЧµÄ¡£
configureʱºò£¬Äã±ØÐëÔËÐÐmakeÔÙÖØÐ±àÒ롣Ȼ¶ø,
Äã¿ÉÄÜÏëÒª°ÑÏÈǰ¹¹ÔìµÄÀϵÄÄ¿±êÎļþɾ³ý£¬ÒòΪËûÃÇʹÓò»Í¬µÄÅäÖÃÑ¡Ïî±»±àÒë¡£
ΪÁË·ÀֹʹÓþɵÄÅäÖÃÐÅÏ¢»òÄ¿±êÎļþ£¬ÔÚÖØÐÂÔËÐÐconfigureǰÔËÐÐÕâЩÃüÁ
shell>rm config.cache shell>make clean
ÁíÍ⣬Äã¿ÉÒÔÔËÐÐmake distclean¡£
ϱíÃèÊöÁËһЩ×î³£·¢ÉúµÄ±àÒëMySQLµÄÎÊÌ⣺
Internal compiler error: program cc1plus got fatal signal 11 »ò Out of virtual memory »ò Virtual memory exhausted
¸ÃÎÊÌâÊÇgccÒªÇó´óÁ¿µÄÄÚ´æ±àÒë´øÓÐǶÈ뺯Êý(inline
function)µÄ¡°sql_yacc.cc¡±¡£ÊÔÊÔÒÔ--with-low-memoryÑ¡ÏîÔËÐÐconfigure£º
shell>./configure -- with-low-memory
Èç¹ûÄãÕýÔÚʹÓÃgcc£¬¸ÃÑ¡ÏîʹµÃ½«-fno-inline¼Óµ½±àÒëÐУ¬Èç¹ûÄãÕýÔÚʹÓÃÆäËûµÄ±àÒëÆ÷£¬Ôò¼ÓÈë-O0¡£ÄãÓ¦¸ÃÊÔÒ»ÊÔ--with-low-memoryÑ¡Ï¼´Ê¹ÄãÓÐÌØ±ð¶àµÄ´æ´¢Æ÷ºÍ½»»»¿Õ¼ä£¬¶øÄãÈÏΪ²»ÄÜ¿ÉÄÜÔËÐеÃÒç³ö¡£Õâ¸öÎÊÌâÉõÖÁÔںܿ¶¿®µÄÓ²¼þÅäÖõÄϵͳÉϳöÏÖ£¬Í¨³£ÓÃ--with-low-memoryÑ¡ÏîÐÞÕýËü¡£
configureÌôÑ¡c++×÷Ϊ±àÒëÆ÷Ãû×Ö²¢ÓÃ-lg++Ñ¡ÏîµÄGNU
c++Á´½Ó¡£Èç¹ûÄãÕýÔÚʹÓÃgcc£¬Õâ¸öÌØÐÔÔÚÅäÖÃÆÚ¼äµ¼ÖÂÈçÏÂÎÊÌ⣺
configure: error: installation or configuration problem: C++ compiler cannot create executables.
Äã¿ÉÄÜÒ²ÔÚ±àÒëÆÚ¼ä¿´µ½g++¡¢libg++»òlibstdc++Ïà¹ØµÄÎÊÌâ¡£ÕâЩÎÊÌâµÄÒ»¸öÔÒòÊÇÄã¿ÉÄÜûÓÐg++£¬»òÄã¿ÉÄÜÓÐg++µ«ÎÞlibg++»òlibstdc++¡£¿´Ò»Ï¡°config.log¡±Îļþ¡£ËüÓ¦¸Ã°üº¬ÄãµÄc++±àÒëÆ÷²»Äܹ¤×÷µÄ׼ȷÔÒò£¡ÎªÁ˽â¾öÕâЩÎÊÌ⣬Äã¿ÉÒÔʹÓÃgcc×÷ΪÄãµÄC++±àÒëÆ÷¡£ÊÔÊÔÉèÖû·¾³±äÁ¿CXXΪ"gcc
-O3"¡£ÀýÈ磺
shell>CXX="gcc -O3" ./configure
ËüÄܹ¤×÷£¬ÒòΪgccÏóg++Ò»Ñù±àÒëC++Ô´´úÂ룬µ«È±Ê¡µØËü²»Á´½Ólibg++»òlibstdc++¡£½â¾öÕâЩÎÊÌâµÄÆäËû·½·¨µ±È»Êǰ²×°g++¡¢libg++ºÍlibstdc++¡£
make°æ±¾µ½GNUmake£º
making all in mit-pthreads make: Fatal error in reader: Makefile, line 18: Badly formed macro assignment ¡¡or make: file `Makefile' line 18: Must be a separator (: ¡¡or pthread.h: No such file or directory
SolarisºÍFreeBSDÒÑÖªmake³ÌÐòÓÐÎÊÌâ¡£GNU
make°æ±¾3.75ÒÑÖªÄܹ¤×÷¡£
CFLAGSºÍCXXFLAGS»·¾³±äÁ¿Öм´¿É¡£ÄãÒ²ÄÜʹÓÃCCºÍCXXÀ´Ö¸¶¨±àÒëÆ÷Ãû×Ö¡£ÀýÈ磺
shell>CC=gcc shell>CFLAGS=-O6 shell>CXX=gcc shell>CXXFLAGS=-O6 shell>export CC CFLAGS CXX CXXFLAGS
¶ÔÓÚÒѾ֪µÀÔÚ²»Í¬ÏµÍ³ÉÏÓÐÓõıêÖ¾¶¨ÒåÁÐ±í£¬¼û4.14 TcX ¶þ½øÖÆ´úÂë¡£
gcc±àÒëÆ÷£º
client/libmysql.c:273: parse error brfore '__attribute__'
gcc2.8.1ÒÑÖª¿ÉÒÔ¹¤×÷£¬µ«ÊÇÎÒÃÇÍÆ¼öʹÓÃegcs1.0.3a»ò¸üС£
mysqldʱÏÔʾÀýÈçÏÂÃæµÄÄÇЩ´íÎó, configureûÓÐÕýÈ·µØ¼ì²â´«µ½accept()¡¢getsockname()»ògetpeername()×îºó²ÎÊýµÄÀàÐÍ£º
cxx: Error: mysqld.cc, line 645: In this statement, the referenced
type of the pointer value "&length" is "unsigned long", which
is not compatible with "int".
new_sock = accept(sock, (struct sockaddr *)&cAddr, &length);
ΪÁËÐÞÕýËü£¬±à¼¡°config.h¡±Îļþ(ËüÓÉconfigureÉú³É)¡£Ñ°ÕÒÕâЩÐУº
/* Define as the base type of the last arg to accept */ #define SOCKET_SIZE_TYPE XXX
¸ü¸ÄXXXΪsize_t»òint£¬ÕâÈ¡¾öÓÚÄãµÄ²Ù×÷ϵͳ¡££¨×¢Ò⣺Äãÿ´ÎÔËÐÐconfigure¶¼±ØÐëÕâÑù×ö£¬ÒòΪconfigureÖØÐÂÉú³É¡°config.h¡±¡£)
"sql_yacc.yy", line xxx fatal: default action causes potential...
ÕâÊÇÒ»¸öÄãµÄyacc°æ±¾²»ÍêÉÆµÄ¼£Ïó¡£Äã¿ÉÄÜÐèÒª°²×°bison£¨GNU
°æ±¾yacc)²¢Ê¹ÓÃËü¡£
mysqld»òMySQL¿Í»§£¬ÔËÐÐconfigure£¬Ê¹ÓÃ--with-debugÑ¡ÏȻºóÖØÐ±àÒë²¢ÇÒÁ´½ÓÄã¿Í»§³ÌÐòµ½ÐµĿͻ§¿â¡£¼ûG.2 µ÷ÊÔÒ»¸öMySQL¿Í»§¡£ Õâ½ÚÃèÊöÔÚʹÓà MIT-pthreads ËùÉæ¼°µÄһЩÎÊÌâ¡£
×¢Ò⣺ÔÚLinuxÉÏ£¬ÄãÓ¦¸Ã²»Ê¹ÓÃMIT-pthreads¶øÊǰ²×°LinuxThreads£¡¼û4.11.5 Linux ×¢ÒâÊÂÏî(ËùÓеÄLinux °æ±¾)¡£
Èç¹ûÄãµÄϵͳ²»ÌṩÔÉúµÄÏß³ÌÖ§³Ö£¬Ä㽫ÐèҪʹÓÃMIT-pthreads°ü¹¹ÔìMySQL¡£Õâ°üÀ¨´ó¶àÊýFreeBSDϵͳ¡¢SunOS 4.x ¡¢Solaris 2.4ºÍ¸üÔç°æ±¾¼°ÆäËû£¬¼û4.2 MySQL Ö§³ÖµÄ²Ù×÷ϵͳ¡£
configure£¬ÓÃ--with-mit-threadsÑ¡ÏîÀ´Ç¿ÆÈÔËÐÐMIT-pthreads£º
shell> ./configure -- with-mit-threads
µ±Ê¹ÓÃMIT-pthreadsʱ£¬²»Ö§³ÖÔÚÒ»¸ö·ÇÔ´´úÂëĿ¼¹¹Ô죬ÒòΪÎÒÃÇÏëҪʹÎÒÃǶԴúÂëµÄ¸Ä±ä¼õµ½×îС¡£
µÄAF_UNIXÐÒé¡£ÕâÒâζ×ÅÈç¹ûÄãʹÓÃMIT-pthreads½øÐбàÒ룬ËùÓеÄÁ´½Ó±ØÐëʹÓÃTCP/IP½øÐÐ(ËüÓеãÂý)¡£Èç¹ûÔÚ¹¹ÔìMySQLºó£¬Äã·¢ÏÖÄã²»ÄÜÓë±¾µØµÄ·þÎñÆ÷Á¬½Ó£¬ºÜ¿ÉÄÜÊǿͻ§³ÌÐòÕýÔÚÊÔͼÓÃȱʡµÄUnixÌ×½Ó×ÖÓëlocalhostÁ¬½Ó¡£Ê¹ÓÃÖ÷»úÑ¡Ôñ(-h»ò--host)Ã÷È·µØÖ¸¶¨±¾µØµÄÖ÷»úÃû×Ö£¬³¢ÊÔ×öÒ»¸öTCP/IPÁ¬½Óµ½mysql¡£
--without-serverÅäÖÃÁË·Ö·¢²¢Ö»¹¹Ôì¿Í»§´úÂ룬¿Í»§½«²»ÖªµÀMIT-pthreadsÊÇ·ñÕýÔÚ±»Ê¹Óò¢ÇÒÊÇ·ñʹÓÃȱʡµÄUnixÌ×½Ó×ÖÁ¬½Ó¡£ÒòΪUnixÌ×½Ó×Ö²»ÄÜÔÚMIT-pthreadsÏÂÃæ¹¤×÷£¬ÕâÒâζ×ŵ±ÄãÔËÐпͻ§³ÌÐòʱ£¬Ä㽫ÐèҪʹÓÃ-h»ò--host¡£
--use-lockingÑ¡Ïî¸æËß·þÎñÆ÷ʹÓÃÏµÍ³Ëø¶¨¡£
bind()ÃüÁî²»Äܰó¶¨Ò»¸öÌ×½Ó×Öµ«Ã»ÓÐÈκδíÎóÏûÏ¢(ÖÁÉÙÔÚSolarisÉÏ)£¬½á¹ûÊÇËùÓе½·þÎñÆ÷µÄÁ¬½Ó¾ùʧ°Ü¡£ÀýÈ磺
shell> mysqladmin version mysqladmin: connect to server at '' failed; error: 'Can't connect to mysql server on localhost (146)'
½â¾öËüµÄ·½·¨ÊÇɱËÀmysqld·þÎñÆ÷²¢ÇÒÖØÆôËü¡£ÕâÖ»Óе±ÎÒÃÇÇ¿ÆÈ·þÎñÆ÷Í£Ö¹²¢ÂíÉϽøÐÐÖØÆôʱÔÚ·¢Éú¡£
sleep()ϵͳµ÷Óò»ÊÇ¿ÉÖжϵÄSIGINT£¨break)¡£ÕâÖ»ÓÐÔÚÄãÔËÐÐmysqladmin
--sleepʱ²ÅÄÜ×¢Òâµ½¡£ÄãÔÚÖÐ¶ÏÆð×÷Óò¢ÇÒ½ø³Ìֹ֮ͣǰ±ØÐëµÈ´ýsleep()ÖÕÖ¹¡£
ld: warning: symbol `_iob' has differing sizes:
(file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
file /usr/lib/libc.so value=0x140);
/my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
ld: warning: symbol `__iob' has differing sizes:
(file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
file /usr/lib/libc.so value=0x140);
/my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
implicit declaration of function `int strtoll(...)' implicit declaration of function `int strtoul(...)'
readline¿ÉÔÚMIT-pthreadsÉϹ¤×÷¡££¨Õâ²»ÐèÒª£¬µ«ÊÇ¿ÉÄÜijЩÈËÓÐÐËȤ¡££©Perl¶ÔMySQLµÄÖ§³Ö½èÖúDBI/DBD¿Í»§½Ó¿Ú¶øÌṩ¡£¼û20.5 MySQL Perl API¡£Perl DBD/DBI¿Í»§´úÂëÒªÇóPerl
5.004»òÒÔºó°æ±¾¡£Èç¹ûÄãÓÐPerlµÄÒ»¸ö¸ü¾ÉµÄ°æ±¾£¬½Ó¿Ú½«²»Äܹ¤×÷¡£
MySQL PerlÖ§³ÖÒ²ÒªÇóÄã°²×°ÁËMySQL¿Í»§±à³ÌÖ§³Ö¡£Èç¹ûÄã´ÓRPMÎļþ°²×°MySQL£¬¿Í»§³ÌÐòÔÚ¿Í»§RPMÖУ¬µ«Êǿͻ§±à³ÌÖ§³ÖÔÚ¿ª·¢ÕßRPM¡£È·¶¨Äã°²×°Á˺óÒ»¸öRPM ¡£
¶ÔÓÚ°æ±¾3.22.8£¬PerlÖ§³ÖÊÇÓëÖ÷ÒªMySQL·¢Ðа汾µ¥¶À·Ö·¢¡£Èç¹ûÄãÏëÒª°²×°PerlÖ§³Ö£¬ÄãÐèÒªµÄÎļþÄÜ´Óhttp://www.mysql.com/Contrib»ñµÃ¡£
Perl ·Ö·¢ÒÔѹËõµÄtarµµ°¸Ìṩ£¬²¢ÇÒÓÐÒ»¸öÀàËÆ¡°MODULE-VERSION.tar.gz¡±µÄÃû×Ö£¬ÕâÀïMODULEÊÇÄ£¿éÃû×Ö²¢ÇÒVERSIONÊǰ汾ºÅ¡£ÄãÓ¦¸ÃµÃµ½Data-Dumper¡¢DBIºÍMsql-Mysql-modules·Ö·¢²¢°´´Ë´ÎÐò°²×°ËûÃÇ¡£°²×°¹ý³ÌÏÔʾ³öÔÚÏÂÃæ£¬ÏÔʾµÄÀý×ÓÕë¶ÔData-DumperÄ£¿é,
µ«ÊÇËùÓÐ3¸ö¹ý³ÌÊÇÏàͬµÄ¡£
shell> gunzip < Data-Dumper-VERSION.tar.gz | tar xvf -
Õâ¸öÃüÁî´´½¨µÄÒ»¸öÃûΪ¡°Data-Dumper-VERSION¡±µÄĿ¼¡£
shell> cd Data-Dumper-VERSION
shell> perl Makefile.PL shell> make shell> make test shell> make install
make testÃüÁîºÜÖØÒª£¬ÒòΪËüÑé֤ģ¿éÕýÔÚ¹¤×÷¡£×¢Ò⣺ÔÚÄãMsql-Mysql-modules°²×°ÆÚ¼äÔËÐиÃÃüÁîÊÔÑé½Ó¿Ú´úÂëʱ£¬MySQL·þÎñÆ÷±ØÐëÕýÔÚÔËÐУ¬·ñÔò²âÊÔ½«Ê§°Ü¡£
ÎÞÂÛºÎʱÄã°²×°Ò»¸öа汾µÄMySQL£¬Öؽ¨²¢ÇÒÖØÐ°²×°Msql-Mysql-modules·Ö·¢ÊÇÒ»¸öºÃÖ÷Òâ,
ÌØ±ðÊÇÈç¹ûÄãÔÚÉý¼¶MySQLºó£¬¹Û²ìËùÓÐÒì³££¬ÈçÄãµÄDBI½Å±¾ºËÐÄÇãµ¹(core
dump)¡£
Èç¹ûÄãûÓÐȨÏÞÔÚϵͳĿ¼Ï°²×°PerlÄ£¿é£¬»òÈç¹ûÄã°²×°±¾µØPerlÄ£¿é£¬ÏÂÁвο¼Êé¿ÉÒÔ°ïÖúÄ㣺
http://www.iserver.com/support/contrib/perl5/modules.html
ÔÚ±êÌâInstalling New Modules that Require Locally Installed ModulesÏÂÃæ²éÕÒ¡£
ÔÚ Win32 Éϰ²×° ActiveState PerlµÄMySQL DBDµÄÄ£¿é,
ÄãÓ¦¸Ã×öÏÂÁв½Ö裺
set
HTTP_proxy=my.proxy.com:3128 C:\perl\bin\ppm.pl DBI£º install DBI DBD::mysql£ºhttp://www.mysql.com/Contrib/ppd/DBD-mysql.ppd
Èç¹ûÄã²»ÄÜʹÉÏÊö²½Ö蹤×÷£¬ÄãÓ¦¸Ã°²×°MyODBCÇý¶¯³ÌÐò²¢ÇÒͨ¹ýODBCÁ¬½ÓMySQL·þÎñÆ÷¡£
use DBI;
$dbh= DBI->connect("DBI:ODBC:$dsn","$user","$password") ||
die "Got error $DBI::errstr when connecting to $dsn\n";
MySQL Perl·Ö·¢°üº¬DBI¡¢DBD:MySQLºÍDBD:ODBC¡£
C:½âѹËõ·Ö·¢£¬ÕâÑùÄãµÃµ½Ò»¸ö¡°C:\PERL¡±Ä¿Â¼¡£
perl -v²âÊÔperlµÄÔËÐС£ DBI/DBD½Ó¿ÚµÄÎÊÌâÈç¹û Perl ±¨¸æËü²»ÄÜÕÒµ½../mysql/mysql.soÄ£¿é£¬ÄÇôÎÊÌâ¿ÉÄÜÊǸÃPerl²»ÄÜÕÒµ½¹²Ïí¿âÎļþ¡°libmysqlclient.so¡±¡£
Äã¿ÉÓÃÏÂÁÐÈκÎÒ»¸ö·½·¨ÐÞÕýËüÕ⣺
perl Makefile.PL -static¶ø·Çperl Makefile.PL±àÒëMsql-Mysql-modules·Ö·¢¡£libmysqlclient.soµ½ÆäËû¹²Ïí¿âÎļþËùÔÚµÄĿ¼(¿ÉÄÜÊÇ¡°/usr/lib¡±»ò¡°/lib¡±)¡£
LinuxÉÏ£¬Äã¿ÉÒÔ°Ñlibmysqlclient.soËùÔÚĿ¼µÄ·¾¶Ãû¼Óµ½¡°/etc/ld.so.conf¡±ÎļþÖС£
libmysqlclient.soËùÔÚĿ¼µÄ·¾¶Ãû¼Óµ½LD_RUN_PATH»·¾³±äÁ¿ÖС£
Èç¹ûÄã´ÓDBD-mysqlµÃµ½ÏÂÁдíÎó£¬Äã¿ÉÄÜÕýÔÚʹÓÃgcc£¨»òʹÓÃÒ»¸ö¾ÉµÄÓÃgcc±àÒëµÄ¶þ½øÖÆ´úÂë)£º
/usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3'
µ±¡°mysql.so¡±¿âÎļþ±»¹¹Ôìʱºò£¬ÎªÁ´½ÓÃüÁî¼ÓÉÏ-L/usr/lib/gcc-lib/...
-lgcc(µ±Äã±àÒëPerl¿Í»§Ê±¼ì²éÕë¶Ô¡°mysql.so¡±µÄmakeÊä³ö)¡£-LÑ¡ÏîÓ¦¸ÃÖ¸¶¨¡°libgcc.a¡±ÔÚÄãϵͳÉÏËùÔÚĿ¼µÄ·¾¶Ãû¡£
Õâ¸öÎÊÌâµÄÁíÒ»¸öÔÒò¿ÉÄÜÊÇPerlºÍMySQL¶¼²»ÊÇÓÃgcc±àÒëµÄ¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔ¶¼ÓÃgcc±àÒëÒÔ½â¾ö²»Æ¥Åä¡£
Èç¹ûÄãÏëÒªÔÚÒ»¸ö²»Ö§³Ö¶¯Ì¬Á´½Ó(ÏóSCOÄÇÑù)µÄϵͳÉÏʹÓÃPerlÄ£¿é£¬Äã¿ÉÒÔ²úÉú°üÀ¨DBIºÍDBD-mysqlµÄPerlµÄÒ»¸ö¾²Ì¬°æ±¾¡£ÕâÖÖÔËÐз½·¨ÊÇÄãÉú³ÉÒ»¸öÁ´½ÓÁËDBI´úÂëµÄPerl°æ±¾²¢ÔÚ×îеÄPerlÉϰ²×°Ëü£¬È»ºóÄãʹÓÃËüÀ´¹¹Ô츽¼ÓÁ´½ÓÁËDBD´úÂëµÄPerl°æ±¾£¬²¢ÇÒ°²×°Ëü¡£
ÔÚ SCO ÉÏ£¬Äã±ØÐëÓÐÏÂÁл·¾³±äÁ¿ÉèÖãº
shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib »ò shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/lib shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/lib shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:/usr/skunk/man:
Ê×ÏÈ, ÔÚDBI·Ö·¢ËùÔÚĿ¼ÏÂÔËÐÐÏÂÁÐÃüÁ´´Ôì°üÀ¨Ò»¸ö¾²Ì¬Á´½ÓµÄPerl
DBI£º
shell> perl Makefile.PL LINKTYPE=static shell> make shell> make install shell> make perl
È»ºóÄã±ØÐ밲װеÄPerl¡£make perlµÄÊä³ö½«ÏÔʾÕýÈ·µÄÄãÐèÒªÖ´ÐÐÊ©Ðа²×°µÄmakeµÄÃüÁî¡£ÔÚSCOÉÏ£¬ÊÇmake
-f Makefile.aperl inst_perl MAP_TARGET=perl.
½ÓÏÂÀ´£¬ÔÚMsql-Mysql-modules·Ö·¢ËùÔÚĿ¼Ï£¬Ê¹ÓøղŴ´½¨µÄPerlÀ´´´½¨Í¬Ñù°üÀ¨Ò»¸ö¾²Ì¬Á´½ÓµÄPerlDBD::mysqlµÄÁíÒ»¸öPerl£º
shell> perl Makefile.PL LINKTYPE=static shell> make shell> make install shell> make perl
×îºó, ÄãÓ¦¸Ã°²×°Õâ¸öеÄPerl¡£¶øÇÒ£¬make perlµÄÊä³öÖ¸³öʹÓõÄÃüÁî¡£
ÏÂÃæµÄÕ½Ú˵Ã÷ÔÚ´ÓÔ´´úÂë·Ö·¢°²×°MySQLʱ£¬·¢ÉúÔÚÌØ¶¨µÄϵͳÉϲ¢Òѹ۲쵽µÄһЩÎÊÌâ¡£
ÔÚSolarisÉÏ£¬ÉõÖÁÔÚÄã½â¿ªMySQL·Ö·¢ÒÔǰ£¬Äã¿ÉÄÜÏÝÈëÀ§¾³£¡Solaris
tar²»ÄÜ´¦Àí³¤ÎļþÃû×Ö£¬Òò´ËÄãÔÚ´ò¿ªMySQLʱ£¬¿ÉÄÜ¿´µ½ÕâÑùµÄÒ»¸ö´íÎó£º
x mysql-3.22.12-beta/bench/Results/ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase, 0 bytes, 0 tape blocks tar: directory checksum error
ÔÚÕâÖÖÇé¿öÏ£¬Äã±ØÐëʹÓà GNU tar(gtar)
´ò¿ª·Ö·¢¡£ÄãÄÜÔÚhttp://www.mysql.com/Downloads/ÕÒµ½ÎªSolarisµÄÒ»¸öÔ¤±àÒëµÄ¿½±´¡£
SunµÄÔÉúÏß³ÌÖ»¹¤×÷ÔÚSolaris 2.5ºÍ¸ü¸ß°æ±¾ÉÏ¡£¶ÔÓÚ2.4ºÍ¸üÔçµÄ°æ±¾£¬MySQL½«×Ô¶¯µØÊ¹Óà MIT-pthreads ¡£¼û4.9 MIT-pthreads ×¢ÒâÊÂÏî¡£
Èç¹ûÄã´ÓÅäÖõõ½ÏÂÁдíÎó£º
checking for restartable system calls... configure: error can not run test programs while cross compiling
ÕâÒâζ×ÅÄãµÄ±àÒëÆ÷°²×°ÓÐЩÎÊÌ⣡ÔÚÕâÖÖÇé¿öÏ£¬ÄãÓ¦¸ÃÉý¼¶±àÒëÆ÷µ½Ò»¸ö¸üеİ汾¡£ÄãÒ²¿ÉÒÔ°ÑÏÂÁÐÐвåÈëµ½config.cacheÎļþÀ´½â¾öÕâ¸öÎÊÌ⣺
ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'}
Èç¹ûÄãÔÚÒ»¸öSPARCÉÏʹÓÃSolaris£¬ÍƼöµÄ±àÒëÆ÷ÊÇegcs1.1.2
»ò¸üС£ÄãÄÜÔÚhttp://egcs.cygnus.com/ÕÒµ½Ëü¡£×¢Ò⣺egs1.1.1
ºÍgcc2.8.1 ²»ÄÜÔÚ SPARC ÉϿɿ¿µØ¹¤×÷£¡
µ±Ê¹ÓÃʱegcs1.1.2ʱ£¬ÍƼöµÄconfigureÃüÁîÐÐÊÇ£º
shell> CC=gcc CFLAGS="-O6" \
CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --with-low-memory
Èç¹ûÄãÓÐSun Workshop 4.2 ±àÒëÆ÷£¬ÄãÄÜÕâÑùÔËÐÐconfigure£º
CC=cc CFLAGS="-xstrconst -Xa -xO4 -native -mt" CXX=CC CXXFLAGS="-xO4 -native -noex -mt" ./configure --prefix=/usr/local/mysql
shell> CC=cc CFLAGS="-Xa -fast -xO4 -native -xstrconst -mt" \
CXX=CC CXXFLAGS="-noex -XO4 -mt" \
./configure
ÄãÒ²¿ÉÒÔ±à¼configure½Å±¾¸Ä±ä¸ÃÐУº
#if !defined(__STDC__) || __STDC__ != 1
Ϊ£º
#if !defined(__STDC__)
Èç¹ûÄãʹÓÃ-XcÑ¡Ïî´ò¿ª__STDC__£¬Sun±àÒëÆ÷²»ÄÜÓÃ
Solaris µÄ¡°pthread.h¡±Í·Îļþ±àÒë¡£ÕâÊÇSunµÄÒ»¸öbug¡£
Èç¹ûmysqldÔÚÔËÐÐʱ·¢³öÏÔʾÔÚÏÂÃæµÄ´íÎóÏûÏ¢£¬ÄãÒѾ³¢ÊÔÓÃSun±àÒëÆ÷±àÒëMySQL£¬Ã»ÓÐÆôÓöàÏß³ÌÑ¡Ôñ(-mt)£º
libc internal error: _rmutex_unlock: rmutex not held
Ôö¼Ó-mtµ½CFLAGSºÍCXXFLAGS²¢ÇÒÔÙÊÔÒ»ÊÔ¡£
Èç¹ûÄãÔÚÓÃgcc±àÒëMySQLʱµÃµ½ÏÂÁдíÎó£¬ËüÒâζ×ÅÄãµÄgccûÓжÔÄãµÄSolaris°æ±¾½øÐÐÅäÖã¡
shell> gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ... ./thr_alarm.c: In function `signal_hand': ./thr_alarm.c:556: too many arguments to function `sigwait'
ÔÚÕâÖÖÇé¿öÏÂÕýÈ·µÄ×ö·¨Êǵõ½×îа汾µÄegcs£¬²¢ÇÒÓÃÄ㵱ǰµÄgcc±àÒëÆ÷±àÒëËü£¡ÖÁÉÙ¶ÔÓÚ
Solaris 2.5£¬¼¸ºõËùÓеÄgcc¶þ½øÖư汾¶¼Óоɵġ¢²»¿ÉÓõİüº¬Îļþ£¬½«ÆÆ»³Ê¹ÓÃÏ̵߳ÄËùÓгÌÐòµÄÎļþ(²¢ÇÒ¿ÉÄÜÊÇÆäËûµÄ³ÌÐò)£¡
Solaris²»ÌṩËùÓÐϵͳ¿âµÄ¾²Ì¬°æ±¾(libpthreadsºÍlibdl)£¬ËùÒÔÄã²»ÄÜÓÃ--static±àÒëMySQL¡£Èç¹ûÄã³¢ÊÔÕâÑù×ö£¬Ä㽫µÃµ½´íÎó£º
ld: fatal: library -ldl: not found
Èç¹ûÌ«¶à½ø³ÌÊÔͼºÜ¿ìµØÁ¬½Ómysqld£¬Ä㽫ÔÚMySQLÈÕÖ¾ÎļþÖп´¼ûÕâ¸ö´íÎó£º
Error in accept: Protocol error
Äã¿ÉÒÔÊÔ×ÅÓÃ--set-variable back_log=50Ñ¡ÏîÆô¶¯·þÎñÆ÷×÷ΪËüµÄÒ»¸ö½â¾ö°ì·¨¡£
Èç¹ûÄãÕýÔÚÁ´½ÓÄã×Ô¼ºµÄMySQL¿Í»§£¬µ±ÄãÊÔ×ÅÖ´ÐÐËüʱ£¬Äã¿ÉÄܵõ½ÏÂÁдíÎó£º
ld.so.1: ./my: fatal: libmysqlclient.so.#: open failed: No such file or directory
Õâ¸öÎÊÌâÄÜÓÃÏÂÁз½·¨Ö®Ò»±ÜÃ⣺
-Lpath)£º -Wl,r/full-path-to-libmysqlclient.so¡£
libmysqclient.soµ½¡°/usr/lib¡±¡£ libmysqlclient.soËùÔÚĿ¼µÄ·¾¶Ãû¼Óµ½LD_RUN_PATHµÄ»·¾³±äÁ¿ÖС£
ͨ³£ÄãÄÜÔÚ Solaris 2.7 ÉÏʹÓà Solaris 2.6 ¶þ½øÖÆ´úÂë¡£´ó¶àÊýSolaris 2.6 µÄÎÊÌâÒ²ÊÊÓÃÓÚSolaris 2.7¡£
×¢Ò⣺MySQL3.23.4 ºÍ¸ü¸ß°æ±¾Ó¦¸ÃÄÜ×Ô¶¯¼ì²â Solaris 2.7 ²¢ÇÒÆôÓÃÏÂÁÐÎÊÌâµÄ½â¾ö°ì·¨£¡
Solaris 2.7 ÔÚ°üÀ¨ÎļþÖÐÓÐһЩbug£¬ÔÚʹÓÃgccʱ£¬Äã¿ÉÒÔ¿´¼ûÏÂÁдíÎó£º
/usr/include/widec.h:42: warning: `getwc' redefined /usr/include/wchar.h:326: warning: this is the location of the previous definition
Èç¹û³öÏÖÕâÖÖÇé¿ö£¬Äã¿ÉÒÔ×öÏÂÁÐÊÂÇé½â¾öÕâ¸öÎÊÌ⣺
¿½±´/usr/include/widec.hµ½.../lib/gcc-lib/os/gcc-version/include²¢ÇҸıäµÚ41ÐУº
#if !defined(lint) && !defined(__lint) Ϊ #if !defined(lint) && !defined(__lint) && !defined(getwc)
ÁíÍ⣬Äã¿ÉÒÔÖ±½Ó±à¼¡°/usr/include/widec.h¡±¡£ÕâÁ½ÖÖ·½·¨£¬ÔÚÄã½øÐÐÐÞÕýÒÔºó£¬ÄãÓ¦¸Ãɾ³ý¡°config.cache¡±²¢ÇÒÔÙÔËÐÐconfigure£¡
Èç¹ûµ±ÄãÔËÐÐmakeʱ£¬ÄãµÃµ½ÏóÕâÑù´íÎó£¬ÄÇÊÇÒòΪconfigureû¼ì²â¡°curses.h¡±Îļþ(¿ÉÄÜÒòΪ/usr/include/widec.hµÄ´íÎó)£º
In file included from mysql.cc:50: /usr/include/term.h:1060: syntax error before `,' /usr/include/term.h:1081: syntax error before `;'
½â¾öËüµÄ·½°¸ÊÇ×öÏÂÁв½ÖèÖ®Ò»£º
#define HAVE_TERMÐв¢ÔÙ´ÎÔËÐÐmake¡£
CFLAGS=-DHAVE_CURSES CXXFLAGS=-DHAVE_CURSES ./configure½øÐÐÅäÖᣠÈç¹ûÄãÕýÔÚÔÚ Solaris x86ÉÏʹÓÃgcc»òegcs£¬²¢ÇÒÄãÅöµ½ÁËÔÚ×°ÔØÊ±µÄºËÐÄÇãµ¹£¨core
dump£©ÎÊÌ⣬ÄãÓ¦¸ÃʹÓÃÏÂÁÐconfigureÃüÁ
shell> CC=gcc CFLAGS="-O6 -fomit-frame-pointer" \
CXX=gcc \
CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql
ÓÃlibstdc++¿âºÍÓëC++Òì³£´¦ÀíÀ´±ÜÃâÕâ¸öÎÊÌâ¡£
Èç¹ûÕâûÓаïÖú£¬ÄãÓ¦¸Ã±àÒëÒ»¸öµ÷ÊÔ°æ±¾²¢ÇÒÓÃÒ»¸ö×Ù¼£ÎļþÔËÐÐËü»òÔÚgdbÏÂÔËÐÐËü¡£¼ûG.1 µ÷ÊÔÒ»¸ö MySQL ·þÎñÆ÷¡£
ÔÚ SunOS 4 ÉÏ£¬ ÐèÒªMIT-pthreads ±àÒëMySQL£¬·´¹ýÀ´ÕâÒâζ×ÅÄ㽫ÐèÒªGNU
make¡£
һЩSunOS 4ϵͳµÄ¶¯Ì¬¿âºÍlibtoolÓÐÎÊÌâ¡£Äã¿ÉÒÔʹÓÃÏÂÁÐconfigureÐÐÀ´±ÜÃâÕâ¸öÎÊÌ⣺
shell> ./configure --disable-shared --with-mysqld-ldflags=-all-static
µ±±àÒëreadlineʱ£¬Äã¿ÉÄܵõ½¹ØÓÚÖØ¸´¶¨ÒåµÄ¾¯¸æ£¬ÕâЩ¿ÉÒÔ±»ºöÂÔ¡£
µ±±àÒëmysqldʱºò£¬ ½«ÓÐһЩimplicit declaration of
function¾¯¸æ£¬ÕâЩ¿ÉÒÔ±»ºöÂÔ¡£
MySQLÔÚLinuxÉÏʹÓà LinuxThreads
¡£Èç¹ûÄãÕýÔÚʹÓÃÒ»¸öûÓÐglibc2µÄÀϵÄLinux°æ±¾£¬Äã±ØÐëÔÚ³¢ÊÔ±àÒëMySQLǰ°²×°LinuxThreads¡£http://www.mysql.com/Downloads/Linux
×¢Ò⣺µ«Äã×öINSERT DELAYEDʱ£¬ËùÓõİüÀ¨2.1.1¼°ÒÔǰµÄglibc°æ±¾ÔÚpthread_mutex_timedwait´¦ÀíÉÏÓÐÒ»¸öÖÂÃü´íÎó£¬Èç¹ûÄãÕýÔÚʹÓÃINSERT
DELAYED£¬Äã±ØÐë°ÑÏÂÁв¹¶¡¼Óµ½ÄãµÄglibc¿âÖУºhttp£º//www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch¡£MySQL
3.23.7°üº¬Á˶ÔÕâ¸ö´íÎóµÄÒ»¸öÁÙʱ½â¾ö°ì·¨¡£
Èç¹ûÄã²»ÄÜÆô¶¯mysqld»òÈç¹ûmysql_install_db²»¹¤×÷£¬Çë¼ÌÐø¶ÁÏÂÈ¥£¡Õâ½ö·¢ÉúÔÚÓÐLinuxThreadsÎÊÌâ»òlibc/glibc¿âΪÌâµÄLinuxϵͳÉÏ¡£Óкܶà¼òµ¥µÄ½â¾ö°ì·¨ÈÃMySQL¹¤×÷£¡×î¼òµ¥ÊÇʹÓÃÕë¶ÔLinux
x86µÄ¶þ½øÖư汾µÄMySQL£¨²»ÊÇRPM)£¬Õâ¸ö°æ±¾µÄÒ»¸öºÃµÄ·½ÃæÊÇËü¿ÉÄܱÈÄã±àÒëÄã×Ô¼ºµÄÈκΰ汾¿ì10%£¡¼û10.2.1 ±àÒëºÍÁ´½ÓÈçºÎÓ°Ïì
MySQL µÄËÙ¶È¡£
¶þ½øÖÆ·Ö·¢µÄÒ»¸öÒÑÖªÎÊÌâÊÇÓëʹÓÃlibcµÄ¸üÀϵÄLinuxϵͳ£¨ÈçRedHat
4.x »ò Slackware)£¬Ä㽫µÃµ½ÓйØÖ÷»úÃû½â¾öµÄһЩ·ÇÖÂÃüÎÊÌâ¡£¼û4.6.3.1 Linux×¢ÒâÊÂÏî¡£
ʹÓÃlibc.so.5.3.12£¬myisamchk½«¹ÒÆð£¬Éý¼¶µ½×îÐÂlibcÒÔ½â¾öÕâ¸öÎÊÌâ¡£
µ±Ê¹Óà LinuxThreads ʱ£¬Ä㽫¿´µ½×îÉÙ 3 ½ø³ÌÔÚÔËÐС£ÕâЩÊÂʵÉϵÄỊ̈߳¬¶ÔLinuxThreads¹ÜÀíÆ÷½«ÓÐÒ»¸öỊ̈߳¬Ò»¸öÏ̴߳¦ÀíÁ¬½Ó£¬»¹ÓÐÒ»¸öÏ̴߳¦Àí¸æ¾¯ºÍÐźš£
Èç¹ûÄãÓÃps¿´µ½ÁËÒ»¸öËÀµôµÄmysqldÊØ»¤½ø³Ì£¬Õâͨ³£Òâζ×ÅÄã·¢ÏÖÁËMySQLÀïÃæµÄÒ»¸ö´íÎó»òÄãÓÐÒ»¸ö±»ÆÆ»µµÄÊý¾Ý¿â±í¡£¼û18.1 Èç¹ûMySQL×ÜÊDZÀÀ£Ôõô°ì¡£
Èç¹ûÄãÕýÔÚʹÓÃLinuxThreads²¢ÇÒmysqladmin shutdown²»¹¤×÷£¬Äã±ØÐëÉý¼¶µ½
LinuxThreads 0.7.1 »ò¸üС£
Èç¹ûÄãÕýÔÚʹÓà RedHat £¬Äã¿ÉÄܵõ½ÏóÕâÑùµÄ´íÎó£º
/usr/bin/perl is needed... /usr/sh is needed... /usr/sh is needed...
Èç¹ûÊÇÕâÑù£¬ÄãÓ¦¸ÃÉý¼¶rpm°æ±¾µ½¡°rpm-2.4.11-1.i386.rpm¡±ºÍ¡°rpm-devel-2.4.11-1.i386.rpm¡±(»òÒÔºó)¡£
ÄãÄÜ´Óftp://ftp.redhat.com/updates/4.2/i386µÃµ½RedHat 4.2µÄ¿âÎļþÉý¼¶£¬»ò¶ÔÆäËû·Ö·¢http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/¡£
Èç¹ûÄãÕýÔÚÁ´½ÓÄã×Ô¼ºµÄMySQL¿Í»§²¢Çҵõ½´íÎó£º
ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory
µ±Ö´ÐÐËüÃÇʱ£¬Õâ¸öÎÊÌâ¿ÉÓÃÏÂÁз½·¨Ö®Ò»±ÜÃ⣺
-Lpath)£º -Wl,r/path-libmysqlclient.so¡£
libmysqclient.soµ½¡°/usr/lib¡±¡£ libmysqlclient.soËùÔÚĿ¼µÄ·¾¶Ãû¼Óµ½LD_RUN_PATHµÄ»·¾³±äÁ¿ÖС£
Èç¹ûÄãÕýÔÚʹÓà Fujitsu ±àÒëÆ÷(fcc / FCC)£¬±àÒëMySQLÄ㽫ÓÐһЩÎÊÌ⣬ÒòΪ
Linux Í·ÎļþÃæÏògcc¡£
ÏÂÁÐconfigureÐÐÓ¦¸ÃÓëfcc/FCC¹¤×÷£º
CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const \ -DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib -K omitfp \ -K preex --no_exceptions --no_rtti -D_GNU_SOURCE -DCONST=const \ -Dalloca=__builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __inline'" \ ./configure --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static --disable-shared --with-low-memory
MySQLÒªÇólibc°æ±¾ 5.4.12
»ò¸üУ¬ÒÑÖª¿É¹¤×÷ÔÚlibc 5.4.46¡£glibc°æ±¾2.0.6ºÍÒÔºó°æ±¾Ó¦¸ÃÒ²¹¤×÷¡£Ê¹ÓÃRedHatµÄglibc
RPMÓÐһЩÎÊÌ⣬ËùÒÔÈç¹ûÄãÓÐÎÊÌ⣬¼ì²éÊÇ·ñÓÐÈκθüУ¡glibc2.0.7-19ºÍ2.0.7-29
RPMÒÑÖª¿ÉÒÔ¹¤×÷¡£
ÔÚһЩ¸üÀ쵀 Linux ·Ö·¢ÉÏ£¬configure¿ÉÄܲúÉúÏóÕâÑùµÄÒ»¸ö´íÎó£º
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.
°´ÕÕ´íÎóÏûÏ¢Ëù˵µÄÈ¥×ö£¬²¢ÇÒ¸øÖ»ÓÐÒ»ÌõÏ»®ÏßµÄ_PºêÔö¼ÓÒ»¸ö¶îÍâÏ»®Ïß
('__P'), È»ºóÔÙÊÔÒ»ÊÔ¡£
ÔÚ±àÒëʱ£¬Äã¿ÉÄܵõ½Ò»Ð©¾¯¸æ£»ÏÔʾÔÚÏÂÃæµÄÄÇЩ¿ÉÒÔ±»ºöÂÔ£º
mysqld.cc -o objs-thread/mysqld.o mysqld.cc: In function `void init_signals()': mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int' mysqld.cc: In function `void * signal_hand(void *)': mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
ÔÚDebian GNU/LinuxÉÏ£¬Èç¹ûÄãÏëÒªÔÚϵͳÆô¶¯Ê±×Ô¶¯Æô¶¯MySQL£¬×öÏÂÁÐÃüÁ
shell> cp support-files/mysql.server /etc/init.d/mysql.server shell> /usr/sbin/update-rc.d mysql.server defaults 99
mysql.server¿ÉÒÔÔÚMySQL°²×°Ä¿Â¼µÄ¡°share/mysql¡±Ä¿Â¼ÏÂÃæÕÒµ½,
»òÔÚMySQLÔ´´úÂëÊ÷µÄ¡°support-files¡±Ä¿Â¼ÏÂÕÒµ½¡£
Èç¹ûmysqldÔÚËüÆô¶¯Ê±×ÜÊǺËÐÄÇãµ¹(core dump),
ÎÊÌâ¿ÉÄÜÊÇÄãÓÐÒ»¸öÀϰ汾µÄ¡°/lib/libc.a¡±£¬ÖØÃüÃûËü£¬È»ºóɾ³ý¡°sql/mysqld¡±²¢ÇÒÖØÐÂmake
installÔÙÊÔÒ»ÊÔ¡£Õâ¸öÎÊÌâÔÚһЩ Slackware °²×°Éϱ»±¨¸æÁË¡£ÓÐ×îа汾µÄglibcµÄRedHat
5.0Ò²ÓÐһЩÀàËÆµÄÎÊÌâ¡£¼û4.11.5.2
RedHat 5.0 ×¢ÒâÊÂÏî¡£
Èç¹ûÔÙÁ´½Ómysqldʱ£¬ÄãµÃµ½ÏÂÁдíÎó, ËüÒâζ×ÅÄãµÄ¡°libg++.a¡±Ã»ÓÐÕýÈ·°²×°£º
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
ÏñÕâÑùÔËÐÐconfigure£¬ÄãÄܱÜÃâʹÓá°libg++.a¡±£º
shell> CXX=gcc ./configure
Èç¹ûÄãÔÚRedHatÉÏÓÐMySQLµÄÈκÎÎÊÌ⣬ÄãÓ¦¸Ã¿ªÊ¼Éý¼¶glibcµ½×îпÉÄܵİ汾£¡
Èç¹ûÄã°²×°ËùÓеĹٷ½RedHat²¹¶¡(°üÀ¨glibc-2.0.7-19ºÍglibc-devel-2.0.7-19)£¬MySQLµÄ¶þ½øÖÆ´úÂëºÍÔ´´úÂë·Ö·¢ÔËÐÐÓ¦¸ÃûÓÐÈκÎÂé·³£¡
ÒòΪÔÚglibc2.0.5ÀïÃæÓйØÈçºÎÊÍ·Åpthread_key_create±äÁ¿ÓÐÒ»¸ö´íÎ󣬸üÐÂÊÇÐèÒªµÄ¡£ÓÃglibc2.0.5£¬Äã±ØÐëʹÓÃÒ»¸ö¾²Ì¬µØÁ´½ÓµÄMySQL¶þ½øÖÆ·Ö·¢¡£Èç¹ûÄãÏëÒª´ÓÔ´´úÂë±àÒ룬Äã±ØÐë°²×°À´×ÔÓÚhttp://www.mysql.com/Downloads/Linux µÄLinuxThreadsÐÞÕý°æ±¾»òÉý¼¶ÄãµÄglibc¡£
Èç¹ûÄãÓÐÒ»¸ö²»ÕýÈ·µÄglibc»òLinuxThreads°æ±¾£¬Æä½á¹ûÊÇmysqldÔÚÿ¸öÁ¬½ÓÒÔºó±ÀÀ£¡£ÀýÈ磬mysqladmin
versionÍê³Éºó£¬mysqld½«±ÀÀ££¡
ÁíÒ»¸ö²»ÕýÈ·µÄ¿âµÄÖ¢×´Êǵ±mysqldÆô¶¯Ê±£¬ÂíÉϱÀÀ£¡£ÔÚһЩLinuxϵͳÉÏ£¬Õâ¸öÎÊÌâ¿ÉÒÔͨ¹ýÕâÑùµÄÅäÖÃÀ´ÐÞÕý£º
shell> ./configure -- with-mysqld-ldflags=-all-static
ÔÚRedhat 5.0ÉÏ£¬ÈÝÒ׵ķ½·¨Êǰ²×°glibc2.0.7-19 RPM²¢ÔËÐÐconfigure
--with-mysqld-ldflags=-all-staticÑ¡Ïî¡£
¶ÔÓÚglibc2.0.7µÄÔ´´úÂë·Ö·¢£¬ÈÝÒ×ÔËÓò¢±»MySQL²âÊÔµÄÒ»¸ö²¹¶¡¿ÉÒÔÔÚÏÂÃæÕÒµ½£º
http://www.mysql.com/Download/Linux/glibc-2.0.7-total-patch.tar.gz
Èç¹ûµ±Äã¹¹ÔìMySQLʱ£¬ÄãÓÐÀàËÆÓÚÕâЩ±ÀÀ£µÄ¾Àú, Äã×ÜÄÜÏÂÔØµ½×îеÄMySQL¶þ½øÖư汾¡£ÕâÊǾ²Ì¬Á´½ÓµÄÒÔ±ÜÃâ¿â³åÍ»¶øÇÒÓ¦¸ÃÔÚËùÓеÄLinuxϵͳÉϹ¤×÷£¡
MySQL×Ô´øÒ»¸öÄÚ²¿µÄµ÷ÊÔÆ÷¿ÉÒÔÓкܶàÐÅÏ¢²úÉú×Ù¼£Îļþ£¬Äܱ»ÓÃÀ´·¢ÏÖ²¢½â¾ö´óÁ¿²»Í¬µÄÎÊÌâ¡£¼ûG.1 µ÷ÊÔÒ»¸öMySQL·þÎñÆ÷¡£
RedHat 5.1µÄglibc(glibc2.0.7-13 )ÓÐÒ»¸öÄÚ´æÈ±ÏÝ£¬ËùÒÔÒªµÃµ½Ò»¸öÎȶ¨µÄMySQL°æ±¾£¬Äã±ØÐëÉý¼¶glibcµ½2.0.7-19¡¢½µ¼¶glibc»òʹÓÃÒ»¸ömysqldµÄ¶þ½øÖư汾¡£Èç¹ûÄã²»ÕâÑù×ö£¬Ä㽫Åöµ½ÄÚ´æÎÊÌâ(´æ´¢Æ÷Òç³ö£¬µÈµÈ,
µÈµÈ)¡£ÔÚÕâÖÖÇé¿öÏ£¬×î³£¼ûµÄ´íÎóÊÇ£º
Can't create a new thread (errno 11). If you are not out of available memory, you can consult the manual for any possible OS dependent bug
ÔÚÄãÉý¼¶µ½glibc2.0.7-19ÒÔºó£¬Äã¿ÉÒÔÓö¯Ì¬Á´½Ó(ȱʡ)ÅäÖÃMySQL£¬µ«ÊÇÔÚÄã´ÓÔ´´úÂë°²×°ÁËglibc
2.0.7-19֮ǰ£¬Äã²»ÄÜÔËÐÐconfigure --with-mysqld-ldflags=-all-staticÑ¡Ï
Äã¿ÉÒÔÓÃrpm -q glibc¼ì²éÄãÓÐglibcÄĸö°æ±¾¡£
ÔÚһЩʵÏÖÖУ¬readdir_r()±»ÆÆ»µÁË¡£ÆäÖ¢×´ÊÇSHOW
DATABASES×ÜÊÇ·µ»ØÒ»¸ö¿Õ¼¯ºÏ¡£Õâ¿ÉÒÔͨ¹ýÔÚ±àÒëǰ´Ó¡°config.h¡±ÖÐɾ³ýHAVE_READDIR_R½øÐиüÕý¡£
ÓÐЩÎÊÌ⽫ÐèÒª¸øÄãµÄLinux°²×°´ò²¹¶¡¡£²¹¶¡¿ÉÔÚhttp://www.mysql.com/patches/Linux-sparc-2.0.30.diffÕÒµ½£¬Õâ¸ö²¹¶¡ÊÇÕë¶ÔLinux·Ö·¢¡°sparclinux-2.0.30.tar.gz¡±£¬ËüÃǿɴÓvger.rutgers.edu£¨Ò»¸ö´ÓÀ´Ã»ÓÐÓë¹Ù·½µÄ2.0.30°æºÏ²¢µÄ°æ±¾)µÃµ½¡£ÄãÒ²±ØÐë°²×°LinuxThreads
0.6»ò¸üС£
¸Ðлjacques@solucorp.qc.caÌṩÕâ¸öÐÅÏ¢¡£
ÔÚLinux-AlphaÉϵĴóÎÊÌâÈÔÈ»ÊÇÔÚÕâ¸öƽ̨ÉϵÄglibcµÄÏß³ÌÓÐһЩÎÊÌâ¡£ÄãÓ¦¸Ã´ÓµÃµ½ÄãÄÜÕÒµ½µÄ×îÐÂglibc°æ±¾¿ªÊ¼¡£
×¢Ò⣺ÔÚÄãÔËÐÐÈκÎʹÓÃÏ̵߳ijÌÐò֮ǰ(Ïómysqld¡¢thr_alarm»òthr_lock)£¬ÄãÓ¦¸ÃÔö¼õ¹²Ïí´æ´¢Æ÷µÄÏÞÖÆ(ÓÃulimit)¡£Èç¹ûÄãÍü¼ÇÕâÑù×ö£¬MySQL»ù×¼²âÊÔÒÑÖªÊÇʧ°ÜµÄ£¡
ÓÃÏÂÁÐÃüÁîÅäÖÃMySQL£º
shell> CC=gcc CCFLAGS="-Dalpha_linux_port" \
CXX=gcc CXXFLAGS="-O3 -Dalpha_linux_port -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql
ÊÔÊÔ±àÒëmysys/thr_lockºÍmysys/thr_alarm£¬²âÊÔÕâЩ³ÌÐòµÄÔËÐУ¡£¨²»ÓòÎÊýµ÷ÓÃÿһ¸ö£¬Èç¹ûÒ»ÇÐÕý³££¬Ã¿¸öÓ¦¸ÃÒÔtest_succeeded½áÊø¡££©
ÔÚ°²×°MySQLÒÔºó£¬ÔÚsafe_mysqldÀïÈ¥µôulimitÃüÁîµÄ×¢ÊÍ£¬²¢¼ÓÈëÑ¡ÏîÒÔÔö¼Ó¹²Ïí´æ´¢Æ÷¡£
×¢Òâ¶ÔMySQLÀ´Ëµ£¬Linux-AlphaÈÔÈ»ÊÇÒ»¸öalphaÖÊÁ¿µÄƽ̨¡£ÓÃ×îÐÂglibc£¬ÄãÓÐÒ»¸öÈÃËü¹¤×÷µÄºÜºÃ»ú»á¡£
Èç¹ûÄãÓÃÐźŷ½ÃæµÄÎÊÌâ(MySQL³öÈËÒâÁϵØÔڸ߸ºÔØÏÂËÀµô)£¬Äã¿ÉÄÜÕÒµ½ÁËÒ»¸öÏ̺߳ÍÐźÅÓйصÄOS´íÎó¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔ¸æËßMySQLÈçÏÂÅäÖÃÒÔ²»Ê¹ÓÃÐźţº
shell> CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
Õâ²»Ó°ÏìMySQLÐÔÄÜ£¬µ«ÊÇÓи±×÷Ó㬾ÍÊÇÄã²»ÄÜÓÃmysqladmin
kill»òmysqladmin shutdownɱËÀÔÚÒ»¸öÁ¬½ÓÉÏ¡°Ë¯Ãß¡±µÄ¿Í»§¡£Ïà·´£¬µ±¿Í»§·¢³öÏÂÒ»¸öÃüÁîʱ£¬Ëü½«ËÀµô¡£
MySQLÓ¦¸ÃÄܹ¤×÷ÔÚÓÐ×îÐÂglibc°üµÄMkLinuxÉÏ(ÓÃglibc2.0.7²âÊÔ¹ý)¡£
ΪÁËÈÃMySQLÔÚQube2ÉϹ¤×÷£¬(Linux Mips)£¬ÄãÐèÒª×îеÄglibc¿â(glibc-2.0.7-29C2ÒÑÖª¿É¹¤×÷)¡£ÄãÒ²±ØÐëʹÓÃegcsC++±àÒëÆ÷(egcs-1.0.2-9»ò¸üÐÂ)¡£
µ±ÔÚDigital UNIXϱàÒëÏ̳߳ÌÐòʱ£¬ÎĵµÍƼö¶ÔÓÚccºÍcxxʹÓÃ-pthreadÑ¡Ïî¶øÇÒ¿âÎļþÓÃ-lmach
-lexc£¨³ýÁË-lpthreadÍâ)¡£ÄãÓ¦¸ÃÏóÏÂÃæÕâÑùÔËÐÐconfigure£º
shell> CC="cc -pthread" CXX="cxx -pthread -O" \
./configure --with-named-thread-libs="-lpthread -lmach -lexc -lc"
µ±±àÒëmysqldʱ£¬Äã¿ÉÄÜ¿´¼ûÕâÑùһЩ¾¯¸æ£º
mysqld.cc: In function void handle_connections()': mysqld.cc:626: passing long unsigned int *' as argument 3 of accept(int,sockadddr *, int *)'
Äã¿ÉÒÔ°²È«µØºöÂÔÕâЩ¾¯¸æ£¬ËûÃǵķ¢ÉúÊÇÒòΪconfigureÖ»Äܼì²â³ö´íÎ󣬶ø²»ÊǾ¯¸æ¡£
Èç¹ûÄãÖ±½Ó´ÓÃüÁîÐÐÆô¶¯·þÎñÆ÷£¬µ±ÄãÍ˳öʱ£¬Äã¿ÉÄÜÓÐËÀµôµÄÎÊÌâ¡££¨µ±ÄãÍ˳öʱ£¬ÄãµÄÖØÒª½ø³ÌÊÕµ½Ò»¸öSIGHUPÐźÅ)£¬Èç¹ûÈç´Ë£¬ÊÔ×ÅÏóÕâÑùÆô¶¯·þÎñÆ÷£º
shell> nohup mysqld [options] &
nohupʹµÃ¸úËæËüµÄÃüÁîºöÊÓ´ÓÖÕ¶Ë·¢À´µÄÈκÎSIGHUPÐźÅÁË¡£ÁíÍ⣬ͨ¹ýÔËÐÐsafe_mysqldÆô¶¯·þÎñÆ÷£¬ËüΪÄãʹÓÃnohupµ÷ÓÃmysqld¡£
Èç¹ûÄãÓбàÒëÎÊÌâ²¢°²×°ÁËDECCCºÍgcc£¬³¢ÊÔÕâÑùÔËÐÐconfigure£º
shell> CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql
Èç¹ûÄãµÃµ½¡°c_asm.h¡±ÎļþµÄÎÊÌ⣬Äã¿ÉÒÔ´´½¨²¢Ê¹ÓÃÒ»¸ö¡°ÑÆ(dummy)¡±¡°c_asm.h¡±Îļþ£º
shell> touch include/c_asm.h
shell> CC=gcc CFLAGS=-I./include \
CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql
ÔÚOSF1 V4.0DºÍ±àÒëÆ÷"DEC C V5.6-071 on Digital UNIX V4.0 (Rev. 878)"
ÉÏ£¬±àÒëÆ÷ÓÐÁËÒ»Ð©Ææ¹ÖµÄÐÐΪ(䶨Òåasm±êÖ¾)¡£/bin/ldºÃÏóÒ²±»ÆÆ»µ(µ±Á´½Ómysqldʱ£¬·¢Éú_exit
undefinedÎÊÌâ)¡£ÔÚÕâ¸öϵͳÉÏ£¬´ÓOSF 4.0CµÄ°æ±¾Ìæ»»ÁË/bin/ldºó£¬ÎÒÃÇÉè·¨ÓÃÏÂÁÐconfigureÃüÁîÐбàÒëMySQL£¬£º
shell> CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
ÓÃDigital±àÒëÆ÷¡°C++ V6.1-029¡±£¬ÏÂÁÐÃüÁîÓ¦¸Ã¹¤×÷£º
CC=cc -pthread CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host CXX=cxx -pthread CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host export CC CFLAGS CXX CXXFLAGS ./configure --prefix=/usr/mysql/mysql --with-low-memory --enable-large-files \ --with-mysqld-ldflags=-all-static --disable-shared --with-named-thread-libs="-lmach -lexc -lc"
ÔÚOSF1µÄijЩ°æ±¾ÖУ¬alloca()º¯Êý±»ÆÆ»µ£¬Í¨¹ýɾ³ý¶¨Òå'HAVE_ALLOCA'µÄ¡°config.h¡±µÄÐиüÕýËü¡£
alloca()º¯ÊýÒ²¿ÉÄÜÔÚ/usr/include/alloca.hÀïÃæÓÐÒ»¸ö²»ÕýÈ·µÄÔÐÍ£¬Ô´Óڴ˵ľ¯¸æ¿ÉÒÔºöÂÔ¡£
configure½«×Ô¶¯µØÊ¹ÓÃÏÂÁÐÏ߳̿⣺ --with-named-thread-libs="-lpthread
-lmach -lexc -lc"¡£
µ±Ê¹ÓÃgccʱ£¬ÄãÒ²¿ÉÒÔÊÔÊÔÕâÑùÔËÐÐconfigure£º
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ¡¡
Èç¹ûÄãµÄÐźÅÓÐÎÊÌâ(MySQL³öÈËÒâÁϵØÔڸ߸ºÔØÏÂËÀµô)£¬Äã¿ÉÄÜÕÒµ½ÁËÒ»¸öÏ̺߳ÍÐźÅÓйصÄOS´íÎó¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔ¸æËßMySQLÈçÏÂÅäÖÃÒÔ²»Ê¹ÓÃÐźţº
shell> CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
Õâ²»Ó°ÏìMySQLÐÔÄÜ£¬µ«ÊÇÓиºÃæÐ§Ó¦£¬¾ÍÊÇÄã²»ÄÜÓÃmysqladmin
kill»òmysqladmin shutdownɱËÀÔÚÒ»¸öÁ¬½ÓÉÏ¡°Ë¯Ãß¡±µÄ¿Í»§¡£Ïà·´£¬µ±¿Í»§·¢³öÏÂÒ»¸öÃüÁîʱ£¬Ëü½«ËÀµô¡£
Äã¿ÉÄÜÐèÒªÔÚÔËÐÐconfigureºóÇÒÔÚ±àÒëǰȥµôÔÚ¡°config.h¡±ÀïÃæÒ»Ð©¶«Î÷µÄ¶¨Òå(underfine)¡£
ÔÚһЩIrixʵÏÖÖУ¬alloca()º¯Êý±»ÆÆ»µ¡£Èç¹ûmysqld·þÎñÆ÷ËÀÓÚһЩSELECTÓï¾ä£¬°Ñ¡°config.h¡±¶¨ÒåHAVE_ALLOCºÍHAVE_ALLOCA_HµÄÐÐɾ³ý¼´¿É¡£Èç¹ûmysqladmin
create²»¹¤×÷£¬°Ñ¡°config.h¡±¶¨ÒåHAVE_READDIR_RµÄÐÐɾ³ý£¬ÄãÒ²¿ÉÄܱØÐëɾ³ýHAVE_TERM_HÐС£
SGIÍÆ¼öÄ㽫±¾Ò³ÉϵÄËùÓв¹¶¡×÷Ϊһ¸öÕûÌåÀ´°²×°£ºhttp://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html
×îСµØ£¬ÄãÓ¦¸Ã°²×°×îеĺËÐľí(rollup)¡¢×îеÄrld¾íºÍ×îеÄlibc¾í¡£
ºÜÃ÷È·£¬¶ÔÓÚpthreadsÖ§³Ö£¬ÄãÐèÒª±¾Ò³ÉÏËùÓеÄPOSIX²¹¶¡£º
http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html
Èç¹ûÔÚ±àÒë¡°mysql.cc¡±Ê±£¬ÄãµÃµ½ÀàËÆÓÚÏÂÃæµÄ´íÎó:
"/usr/include/curses.h", line 82: error(1084): invalid combination of type
ÄÇô£¬ÔÚÄãµÄMySQLÔ´´úÂëÊ÷µÄ¶¥¼¶Ä¿Â¼´òÏÂÁÐÃüÁ
shell> extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h shell> make
Ó¦¸ÃÒ²Óа²ÅÅÉϵÄÎÊÌⱨ¸æ¡£Èç¹ûÖ»ÓÐÒ»¸öÏß³ÌÕýÔÚÔËÐУ¬ÊÂÇé»á±äÂýµÄ¡£Í¨¹ýÆô¶¯ÁíÍâÒ»¸ö¿Í»§À´±ÜÃâËü£¬Õâ¿ÉÒÔµ¼Ö´˺óÆäËûÏ̵߳ÄÖ´ÐÐËÙ¶ÈÔö¼Ó2µ½10±¶¡£ÕâÊÇIrixÏß³ÌÄÑÒÔÀí½âµÄÎÊÌ⣻Äã¿ÉÄܱØÐëÁÙʱ׼±¸ÕÒ³ö½â¾ö·½°¸Ö±µ½ËüÄܱ»ÐÞÕý¡£
Èç¹ûÄãÕýÔÚÓÃgcc±àÒ룬Äã¿ÉÒÔʹÓÃÏÂÁÐconfigureÃüÁ
shell> CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql --with-thread-safe-client --with-named-thread-libs=-lpthread
¶ÔÓÚÔËÐÐMySQL£¬FreeBSD 3.xÊDZ»ÍƼöµÄ£¬ÒòΪÆäḬ̈߳üÊǸü¼ÓÍêÕû¡£
×îÈÝÒ×Òò´ËÊDZȽÏÊÜϲ»¶µÄ°²×°·½·¨ÊÇʹÓÃmysql·þÎñÕßºÍ mysql¿Í»§µÄÒÆÖ²£¬¿É´Óhttp://www.freebsd.orgµÃµ½¡£
ʹÓÃÕâЩ¸øÄãµÄ¶«Î÷£º
½¨ÒéÔÚFreeBSD 2.x°æÉÏʹÓà MIT-pthreads£¬ÔÚ°æ±¾3ºÍÒÔÉϰ汾ÓÃÔÉúÏ̡߳£ÔÚһЩ2.2.xµÄÒÔºó°æ±¾Ê¹ÓÃÔÉúÏß³ÌÔËÐÐÊÇ¿ÉÄܵ쬵«ÊÇÄã¿ÉÄÜÅöµ½mysqld¹ØµôµÄÎÊÌâ¡£
È·¶¨ÈÃÄãµÄÃû×Ö½âÎö³ÌÐò°²×°ÕýÈ·£¬·ñÔòµ±Á¬½Ómysqldʱ£¬Äã¿ÉÄÜ»á¾Àú½âÎöÑÓʱ»òʧ°Ü¡£
±£Ö¤ÔÚ¡°/etc/hosts¡±ÎļþÖеÄlocalhostÈë¿ÚÊÇÕýÈ·µÄ(·ñÔòÄãÓëÊý¾Ý¿âÁ¬½Óʱ½«ÓÐÎÊÌâ)¡£¡°/etc/hosts¡±ÎļþÓ¦¸ÃÒÔÒ»ÐпªÊ¼£º
127.0.0.1 localhost localhost.your.domain
Èç¹ûÄã×¢Òâµ½configureʹÓà MIT-pthreads£¬ÄãÓ¦¸ÃÔĶÁMIT-pthreads×¢ÒâÊÂÏ¼û4.9 MIT-pthreads ×¢ÒâÊÂÏî¡£
Èç¹ûÄã´Ómake installµÃµ½Ò»¸öËü²»ÄÜÕÒµ½¡°/usr/include/pthreads¡±µÄ´íÎó£¬configureûÓмì²â³öÄãÐèÒª
MIT-pthreads¡£Í¨¹ýÖ´ÐÐÕâЩÃüÁîÐÞÕýËü£º
shell> rm config.cache shell> ./configure --with-mit-threads
FreeBSD makeµÄÐÐΪÓëmake GNUÂÔÓв»Í¬¡£Èç¹ûÄãÓÐmakeÏà¹ØÎÊÌ⣬ÄãÓ¦¸Ã°²×°GNU
make¡£
FreeBSDÒ²ÒÑÖªÓÐÒ»¸ö·Ç³£µÍµÄȱʡÎļþ¾ä±úÏÞÖÆ¡£¼û18.11 ÎļþûÕÒµ½¡£È¥µôÔÚsafe_mysqldÖеÄulimit -n С½ÚµÄ×¢ÊÍ»òÔÚ/etc/login.confΪmysqldÓû§Ìá¸ßÏÞÖÆ(²¢ÓÃcap_mkdb /etc/login.confÖØ½¨Ëü)£¬Èç¹ûÄ㲻ʹÓÃȱʡ£¬Ò²Òª±£Ö¤ÄãΪ´ËÓû§ÔÚ¿ÚÁîÎļþ(Ó÷¨£ºchpass mysqld-user-name £©¡£
ÄãÓÃSELECT NOW()·µ»ØGMTÐÎʽµÄÖµ¶ø²»ÊÇÄãµÄ±¾µØÊ±¼ä£¬Èç¹ûÓÐÕâÑùµÄÎÊÌ⣬Äã±ØÐëÉ趨TZ»·¾³±äÁ¿ÎªÄãµÄµ±Ç°Ê±ÇøµÄ¡£ÕâÓ¦¸ÃÉèÖ÷þÎñÆ÷ÔËÐеĻ·¾³£¬ÀýÈçÔÚsafe_mysqld»òmysql.serverÀï¡£
ΪÁ˵õ½Ò»¸ö°²È«²¢ÇÒÎȶ¨µÄϵͳ£¬ÄãÓ¦¸ÃÖ»½öʹÓñ»±ê¼ÇΪ-STABLEµÄFreeBSDÄںˡ£
ΪÁËNetBSDÉϱàÒ룬ÄãÐèÒªGNU make£¬·ñÔòµ±makeÊÔͼÔÚC++ÎļþÉÏÔËÐÐlintʱ£¬±àÒ뽫±ÀÀ£¡£
ÔÚOpenBSD 2.5ÉÏ£¬Äã¿ÉÒÔÓÃÏÂÁÐÑ¡Ïî±àÒë´øÔÉúÏ̵߳ÄMySQL£º
CFLAGS=-pthread CXXFLAGS=-pthread ./configure -- with-mit-threads=no
Èç¹ûÔÚ±àÒëMySQLʱ£¬ÄãµÃµ½ÏÂÁдíÎó, Äã¶ÔÐé´æµÄulimitÖµÊÇÌ«µÍÁË£º
item_func.h: In method `Item_func_ge::Item_func_ge(const Item_func_ge &)': item_func.h:28: virtual memory exhausted make[2]: *** [item_func.o] Error 1
ÊÔÊÔʹÓÃulimit -v 80000²¢ÔÙÔËÐÐmake¡£Èç¹ûÕ⻹²»Ðв¢ÇÒÄãÕýÔÚʹÓÃbash£¬ÊÔÊÔ»»µ½csh»òsh£»Ò»Ð©BSDIÓû§±¨¸æÁËÓëbashºÍulimitÓйØÎÊÌâ¡£
Èç¹ûÄãÕýÔÚʹÓÃgcc£¬ÄãÒ²¿ÉÄܱØÐëΪconfigureʹÓÃ--with-low-memory±êÖ¾²ÅÄܱàÒë¡°sql_yacc.cc¡±¡£
ÄãÓÃSELECT NOW()·µ»ØGMTÐÎʽµÄÖµ¶ø²»ÊÇÄãµÄ±¾µØÊ±¼ä£¬Èç¹ûÓÐÕâÑùµÄÎÊÌ⣬Äã±ØÐëÉ趨TZ»·¾³±äÁ¿ÎªÄãµÄµ±Ç°Ê±ÇøµÄ¡£ÕâÓ¦¸ÃΪ·þÎñÆ÷ÔËÐеĻ·¾³ÉèÖã¬ÀýÈçÔÚsafe_mysqld»òmysql.serverÀï¡£
Éý¼¶µ½BSD/OS 3.1¡£Èç¹ûÄDz»¿ÉÄÜ£¬°²×°BSDI patch M300-038¡£
ÔÚÅäÖÃMySQLʱ£¬Ê¹ÓÃÏÂÁÐÃüÁî:
shell> env CXX=shlicc++ CC=shlicc2 \
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/var/mysql \
--without-perl \
--with-unix-socket-path=/var/mysql/mysql.sock
ÏÂÁÐÒ²ÒÑÖª¿ÉÓãº
shell> env CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure \
--prefix=/usr/local/mysql \
--with-unix-socket-path=/var/mysql/mysql.sock
Èç¹ûÄãÔ¸Ò⣬Äã¿ÉÒԸıäĿ¼µØµã£¬»ò²»Ö¸¶¨ÈÎºÎµØµã¶øÊ¹ÓÃȱʡ¡£
Èç¹ûÄãÔÚÖØ¸ºÔÙϵÄÐÔÄÜÓÐÎÊÌ⣬ÊÔÊÔʹÓöÔsafe_mysqldʹÓÃ--skip-thread-priorityÑ¡ÏÕ⽫ÒÔÏàͬÓÅÏȼ¶ÔËÐÐËùÓÐỊ̈߳»ÔÚBSDI
3.1ÉÏ£¬ÕâµÃµ½½ÏºÃµÄÐÔÄÜ(ÖÁÉÙÖ±µ½BSDIÐÞÕýÆäÏ̵߳÷¶È³ÌÐò)¡£
Èç¹ûÄãÔÚ±àÒëʱµÃµ½virtual memory exhausted´íÎó£¬ÊÔÊÔʹÓÃulimit
-v 80000²¢ÔÙÔËÐÐmake¡£Èç¹ûÕ⻹²»Ðв¢ÇÒÄãÕýÔÚʹÓÃbash£¬ÊÔÊÔ»»µ½csh»òsh£»Ò»Ð©BSDIÓû§±¨¸æÁËÓëbashºÍulimitÓйØÎÊÌâ¡£
BSDI 4.xÓÐһЩÏß³ÌÓйصĴíÎó¡£Èç¹ûÄãÏëÒªÔÚÕâÉÏÃæÊ¹ÓÃMySQL£¬ÄãÓ¦¸Ã°²×°ËùÓÐÓëÏß³ÌÏà¹ØµÄ²¹¶¡£¬ÖÁÉÙÓ¦¸Ã°²×°M400-023¡£
µ±Ç°µÄÒÆÖ²½öÔÚ¡°sco3.2v5.0.4¡±ºÍ¡°sco3.2v5.0.5¡±ÏµÍ³Éϱ»²âÊÔ£¬ÔÚ¡°sco 3.2v4.2¡±Ò»¸öÒÆÖ²Ò²Óкܴó½øÕ¹¡£
´ËʱÔÚOpenServerÉÏÍÆ¼öµÄ±àÒëÆ÷ÊÇgcc 2.95.2£¬ÓÃËüÄãÓ¦¸ÃÄܱàÒëMySQL£º
CC=gcc CXX=gcc ./configure ... (options)
gcc 2.7.2 ûÓÐGNU as¡£ÄãÒ²¿ÉÒÔʹÓÃegcs1.1.2»ò¸üУºhttp://www.egcs.com/¡£Èç¹ûÄãÕýÔÚʹÓÃegcs1.1.2£¬Äã±ØÐëÖ´ÐÐÏÂÁÐÃüÁ
shell> cp -p /usr/include/pthread/stdtypes.h \ /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/
./configure²¢ÇÒÑ¡ÔñSCO
OpenServerÑ¡Ïî¡£Õâ¸öÃüÁ±´¡°Makefile.SCO5¡±µ½¡°Makefile¡±¡£
make¡£ cd
µ½¡°thread/src¡±Ä¿Â¼£¬²¢ÔËÐÐmake install¡£ make¡£ shell> CC="gcc -DSCO" CXX="gcc -DSCO" ./configure
ÐèÒª-DSCO°ïÖúÅäÖÃÕýÈ·¼ì²âһЩÏ̺߳¯Êý¡£Èç¹ûÄãÍü¼Ç-DSCO£¬ÔÚ±àÒëʱ£¬Ä㽫µÃµ½ÏÂÁдíÎóÏûÏ¢£º
my_pthread.c: In function `my_pthread_mutex_init': my_pthread.c:374: `pthread_mutexattr_default' undeclared (first use this function)
safe_mysqld£¬Ä㽫¿ÉÄÜÿ½ø³ÌÖ»ÓÐȱʡµÄ110¸ö´ò¿ªÎļþ¡£mysqld½«ÔÚÈÕÖ¾ÎļþдϹØÓڴ˵Ä×¢½â¡£
configureÃüÁîÓ¦¸Ã¹¤×÷£º
shell> CC="gcc -belf" ./configure --prefix=/usr/local/mysql --disable-shared
configureÃüÁîÓ¦¸Ã¹¤×÷£º
shell> CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" \
./configure \
--with-debug --prefix=/usr/local/mysql \
--with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" \
--with-named-curses-libs="-lcurses"
Äã¿ÉÄܵõ½Ò»Ð©°üÀ¨ÎļþµÄijЩÎÊÌâ¡£ÔÚÕâÖÖÇé¿öÏ£¬ÄãÄÜÔÚftp://www.mysql.com/pub/mysql/Downloads/SCO/SCO-3.2v4.2-includes.tar.gzÕÒµ½ÐµÄSCOÌØ¶¨µÄ°üÀ¨Îļþ¡£ÄãÓ¦¸ÃÔÚÄãµÄMySQLÔ´´úÂëÊ÷µÄ¡°include¡±Ä¿Â¼Ï´ò¿ªÕâ¸öÎļþ¡£
SCO¿ª·¢×¢ÒâÊÂÏ
-lgthreads
-lsocket -lgthreadsÑ¡ÏîÁ´½Ómysqld¡£ www.mysql.comµÄ°æ±¾)Á´½ÓÁËGNU malloc£¬Èç¹ûÄã±Âµ½ÄÚ´æÊ¹ÓõÄÎÊÌ⣬ȷ¶¨¡°gmalloc.o¡±±»°üº¬ÔÚ¡°libgthreads.a¡±ºÍ¡°libgthreads.so¡±ÖС£
read()¡¢write()¡¢getmsg()¡¢connect()¡¢accept()¡¢select()ºÍwait()¡£
Èç¹ûÄãÏëÒªÔÚSCOÉϰ²×°DBI£¬Äã±ØÐë±à¼ÔÚDBI-xxxºÍÿ¸ö×ÓĿ¼Ïµġ°Makefiles¡±£º
OLD: NEW: CC = cc CC = gcc -belf CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic CCDLFLAGS = -wl,-Bexport CCDLFLAGS = LD = ld LD = gcc -belf -G -fpic LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib LD = ld LD = gcc -belf -G -fpic OPTIMISE = -Od OPTIMISE = -O1 OLD: CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include NEW: CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
ÕâʱÈç¹ûËûÃÇÓÃicc»òcc±àÒ룬Perl¶¯Ì¬×°ÔØÆ÷(dynaloader)½«²»×°ÔØDBIÄ£¿é¡£
µ±ÓÃcc±àÒëʱ£¬Perl¹¤×÷µÃ×îºÃ¡£
Äã±ØÐëʹÓÃÒ»¸ö×îеÄMySQL°æ±¾£¬ÖÁÉÙÊÇ3.22.13£¬ÒòΪ¸Ã°æ±¾ÔÚUnixwareÏÂÃæ½â¾öÒ»Ð©ÒÆÖ²ÐÔÎÊÌâ¡£
ÔÚUnixWare 7.0.1ÉÏ£¬ÎÒÃÇ¿ÉÓÃÏÂÁÐconfigureµÄÃüÁî±àÒëMySQL£º
shell> CC=cc CXX=CC ./configure --prefix=/usr/local/mysql
xlC×Ô¶¯¼ì²â´ÓAutoconf¶ªÊ§£¬µ±Ê¹Óà IBM
±àÒëÆ÷ʱ£¬ÐèÒªÈçÏÂÕâÑùÒ»¸öconfigureÃüÁ
shell> CC="xlc_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \ CXX="xlC_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \ ./configure
Èç¹ûÄãÕýÔÚʹÓÃegcs±àÒëMySQL£¬Äã±ØÐëʹÓÃ-fno-exceptions±êÖ¾£¬ÒòΪegcsµÃÒì³£´¦Àí²»ÊǶÔḬ̈߳²È«µÄ£¡£¨ÕâÓÃegcs1.1±»²âÊÔ¹ý)¡£ÔÚ
AIX ÉÏʹÓÃegcsºÍgcc£¬ÎÒÃÇÍÆ¼öÏÂÁÐconfigureÐУº
shell> CXX=gcc \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/home/monty --with-debug --with-low-memory
Èç¹ûÄãÓÃÐźÅÎÊÌâ(MySQL³öÈËÒâÁϵØÔڸ߸ºÔØÏÂËÀµô)£¬Äã¿ÉÄÜ·¢ÏÖÁËÓëÏ̺߳ÍÐźÅÓйصÄÒ»¸öOS´íÎó¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔÓÃÈçÏÂÅäÖøæËßMySQL²»Ê¹ÓÃÐźţº
shell> CFLAGS=-DDONT_USE_THR_ALARM CXX=gcc \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -DDONT_USE_THR_ALARM" \
./configure --prefix=/home/monty --with-debug --with-low-memory
Õâ²»Ó°ÏìMySQLÐÔÄÜ£¬µ«ÊÇÓи±×÷Ó㬾ÍÊÇÄã²»ÄÜÓÃmysqladmin
kill»òmysqladmin shutdownɱËÀÔÚÒ»¸öÁ¬½ÓÉÏ¡°Ë¯Ãß¡±µÄ¿Í»§¡£Ïà·´£¬µ±¿Í»§·¢³öÏÂÒ»¸öÃüÁîʱ£¬Ëü½«ËÀµô¡£
ÔÚ AIX µÄһЩ°æ±¾ÉÏÓÃlibbind.aÁ´½ÓʹµÃgetservbynameºËÐÄÇãµ¹(core dump)£¬ÕâÊÇAIXµÄÒ»¸öbug²¢ÇÒÓ¦¸Ã±»±¨¸æµ½IBMÁË¡£
ÔÚ HP-UX ÉϱàÒëMySQLʱ£¬ÓÐһЩ¡°Ð¡¡±ÎÊÌâ¡£ÎÒÃÇÍÆ¼öÄúʹÓÃgcc¶ø²»ÊÇHP-UX×Ô¼ºµÄ±àÒëÆ÷£¬ÒòΪgccÉú³É¸üºÃһЩµÄ´úÂ룡
ÎÒÃÇÍÆ¼öÔÚHP-UXÉÏʹÓÃgcc 2.95£¬²»Ê¹Óø߶ÈÓÅ»¯±êÖ¾(ÀàËÆ-O6)£¬ÒòΪÕâÔÚ HP-UX ÉÏ¿ÉÄܲ»°²È«¡£
×¢ÒâMIT-pthreads²»ÄÜÓà HP-UX ±àÒëÆ÷±àÒ룬ÒòΪËü²»ÄܱàÒë.S£¨»ã±àÆ÷)Îļþ¡£
ÏÂÁÐÅäÖÃÐÐÓ¦¸Ã¹¤×÷£º
CFLAGS="-DHPUX -I/opt/dce/include" CXXFLAGS="-DHPUX \ -I/opt/dce/include -felide-constructors -fno-exceptions \ -fno-rtti" CXX=gcc ./configure --with-pthread \ --with-named-thread-libs='-ldce' --prefix=/usr/local/mysql --disable-shared
Èç¹ûÄãÕýÔÚ±àÒëgcc2.95±¾Éí£¬Èç¹ûÄãÏëÒªÓÃMIT-pthreads±àÒëMySQL£¬Äã²»Ó¦¸ÃÓÃDCE¿â(libdce.a»òlibcma.a)Á´½ÓËü¡£Èç¹ûÄã»ìºÏDCEºÍMIT-pthreads°ü£¬Ä㽫µÃµ½Ò»¸öʹµÃÄã²»ÄÜÁ¬½ÓµÄmysqld¡£µ±Äã±àÒëgcc2.95ʱ£¬É¾³ýDCE¿â£¡
˳×ÅMacOS XÒÆÖ²µÄÁ´½Ó¿ÉÒԵõ½ÄÜÈÃMySQLÔØMacOSÉϹ¤×÷µÄÐÅÏ¢£¬¼û1.8 ÓÐÓõÄMySQLÏà¹ØÁ´½Ó¡£
MySQL3.23.7 Ó¦¸Ã°üÀ¨ËùÓбØÒªµÄMacOSXÉÏÅäÖÃËüµÄ²¹¶¡¡£È»¶øÔÚÅäÖÃMySQLǰ£¬Äã±ØÐëÊ×ÏȰ²×°À´×ÔMacOSX µÄMySql·þÎñÆ÷µÄpthread °ü¡£
Äã¿ÉÄÜÒ²ÏëÒª°ÑÒ»¸ö±ðÃû¼Óµ½ÄãµÄshell×ÊÔ´ÎļþÖÐÒÔ±ã´ÓÃüÁîÐзÃÎÊmysqlºÍmysqladmin¡£
alias mysql '/usr/local/mysql/bin/mysql' alias mysqladmin '/usr/local/mysql/libexec/mysqladmin'
Õâ½ÚÃèÊöÔÚWin32Éϰ²×°ºÍʹÓÃMySQL£¬ÕâÒ²ÔÚMySQL Win32·Ö·¢Ëù´øµÄ¡°readme¡±ÎļþÖÐÃèÊö¡£
Èç¹ûÄãûÓÐÒ»¸ö×¢²áµÄMySQL°æ±¾£¬ÄãÓ¦¸ÃÊ×ÏÈÏÂÔØ¹²ÏíÈí¼þ°æ±¾£¬´Ó£º
Èç¹ûÄã×¼±¸´ÓһЩÆäËû³ÌÐòÁ¬½ÓMySQL£¬ÄãÒ²¿ÉÄÜÐèÒªMyODBCÇý¶¯³ÌÐò¡£Äã¿ÉÔÚMySQLÏÂÔØÒ³ÕÒµ½¡£
°²×°ÈκÎÒ»¸ö·Ö·¢£¬ÔÚij¸ö¿ÕĿ¼½âѹËõËü²¢ÇÒÔËÐÐSetup.exe³ÌÐò¡£
ȱʡµØ£¬MySQL-Win32±»ÅäÖð²×°ÔÚ¡°C:\mysql¡±¡£Èç¹ûÄãÏëÒªÔÚÆäËüµØ·½°²×°MySQL£¬ÔÚ¡°C:\mysql¡±°²×°Ëü£¬È»ºó½«°²×°ÒƵ½ÄãÏëÒªµÄµØ·½¡£Èç¹ûÄãÕæµÄÒÆ×ßMySQL£¬Äã±ØÐëͨ¹ýÌṩѡÏî¸ømysqld¸æËßmysqldÄÇÀïµÄËùÓÐÒ»ÇУ¬Ê¹ÓÃC:\mysql\bin\mysqld
--helpÏÔʾËùÓеÄÑ¡ÏîÄ¿£¡ÀýÈ磬Èç¹ûÄãÒÆ¶¯MySQL·Ö·¢µ½¡°D:\programs\mysql¡±£¬Äã±ØÐëÓÃD:\programs\mysql\bin\mysqld
--basedir D:\programs\mysqlÀ´Æô¶¯mysqld¡£
ÓõǼǵÄMySQL°æ±¾,ÄãÒ²¿ÉÒÔ´´½¨Ò»¸ö¡°C:\my.cnf¡±ÎļþÀ´±£´æÓÃÓÚMySQL·þÎñÆ÷µÄÈκÎȱʡѡÏî¡£¿½±´Îļþ¡°\mysql\my-example.cnf¡±µ½¡°C:\my.cnf¡±²¢ÇÒ±à¼ËüÀ´ÊÊÓÃÓÚÄãµÄ°²×°¡£×¢ÒâÄãÓ¦¸ÃÓÃ"/"¶ø²»ÊÇ"\"Ö¸¶¨ËùÓеÄ·¾¶¡£Èç¹ûÄãʹÓá°\¡±£¬ÄãÐèÒªÖ¸¶¨Á½´Î(¡°\\¡±)£¬ÒòΪÔÚMySQLÖС°\¡±ÊÇתÒå×Ö·û£¬¼û4.15.4 Ñ¡ÏîÎļþ¡£
MySQLʹÓà TCP/IP °ÑÒ»¸ö¿Í»§Á¬½Óµ½Ò»¸ö·þÎñÆ÷¡££¨Õ⽫ÔÊÐíÔÚÄãµÄÍøÂçÉÏÈκλúÆ÷Á¬½ÓÄãµÄMySQL·þÎñÆ÷)¡£Òò´Ë£¬Äã±ØÐëÔÚÆô¶¯MySQLǰÔÚÄãµÄ»úÆ÷Éϰ²×°TCP/IP£¬Äã¿ÉÒÔÔÚÄãµÄWindows CDROMÉÏÕÒµ½TCP/IP ¡£
×¢Ò⣺Èç¹ûÄãÕýÔÚʹÓÃÒ»¸ö¾ÉµÄWin95°æ±¾(ÀýÈçOSR2)£¬ºÜÓпÉÄÜÄãÓÐÒ»¸öÀϵÄWinsock°ü£¡MySQLÐèÒªWinsock 2£¡Äã¿É´Ó΢ÈíµÃµ½×îеÄWinsock¡£Win98ÓÐеÄWinsock 2¿â×÷Ϊȱʡ£¬ÕâÑùÉÏÊö²»ÊÊÓÃÓÚWin98¡£
ÄãÄÜʹÓÃ2¸ö²»Í¬µÄMySQL·þÎñÆ÷£º
mysqld |
ÓÃÍêÕûµ÷ÊÔºÍ×Ô¶¯´æ´¢Æ÷·ÖÅä¼ì²é±àÒë |
mysqld-opt |
¶ÔPentium ´¦ÀíÆ÷ÓÅ»¯¡£ |
ÉÏÃæÁ½¸öÓ¦¸ÃÔÚÈκΠ> = i386µÄIntel´¦ÀíÆ÷ÉϹ¤×÷ ¡£
ΪÁËÆô¶¯mysqld·þÎñÆ÷£¬ÄãÓ¦¸ÃÆô¶¯Ò»¸öMSDOS´°¿Ú²¢¼üÈ룺
C:\mysql\bin\mysqld
Õ⽫ÔÚÒ»¸öûÓд°¿ÚµÄ±³¾°Æô¶¯mysqld¡£
Äã¿ÉÒÔÕâÑùɱËÀMySQL·þÎñÆ÷£¬Ö´ÐУº
C:\mysql\bin\mysqladmin -u root shutdown
×¢ÒâWin95/Win98²»Ö§³ÖÃüÃû¹ÜµÀµÄ´´½¨¡£ÔÚWin95/Win98ÉÏ£¬ÄãÖ»ÄÜʹÓÃÃüÃû¹ÜµÀÁ¬½ÓÔËÐÐÔÚÒ»¸öNT·þÎñÆ÷ÉϵÄÔ¶³ÌMySQL¡£
Win95/Win98С½ÚÒ²ÊÊÓÃÓÚÔÚNTÉϵÄMySQL£¬ÓÐÏÂÁвî±ð£º
ΪÁËÊÇMySQLÓÃTCP/IP¹¤×÷£¬Äã±ØÐë°²×°·þÎñ°ü3(service pack 3)(»ò¸üÐÂ)£¡
¶ÔÓÚNT£¬·þÎñÆ÷Ãû×ÖÊÇmysqld-nt¡£Í¨³£ÄãÓ¦¸ÃÔÚ NT Éϰ²×°MySQL×÷ΪһÖÖ·þÎñ£º
C:\mysql\bin\mysqld-nt --install
£¨Äã¿ÉÒÔÔÚ NT ÉÏʹÓÃmysqld»òmysqld-opt·þÎñÆ÷£¬µ«ÊÇÄÇЩ²»ÄÜ×÷ΪһÖÖ·þÎñÆô¶¯»òʹÓÃÃüÃû¹ÜµÀ¡££©
Äã¿ÉÒÔÓÃÏÂÁÐÃüÁîÆô¶¯ºÍÍ£Ö¹MySQL·þÎñ£º
NET START mysql NET STOP mysql
×¢ÒâÔÚÕâÖÖÇé¿öÏ£¬Äã²»ÄܶÔmysqld-ntʹÓÃÈÎºÎÆäËûÑ¡Ïî!
Èç¹ûÄãÐèÒªÓÃÈκÎÑ¡ÏîÆô¶¯mysqld-nt£¬ÄãÒ²¿ÉÒÔ×÷ΪÔÚNTÉϵÄÒ»¸ö¶ÀÁ¢³ÌÐòÔËÐÐmysqld-nt£¡Èç¹ûÄãÔÚNTÉÏûÓÐÑ¡ÏîÆô¶¯mysqld-nt£¬mysqld-nt³¢ÊÔÆô¶¯×Ô¼º×÷ΪһÖÖÓÐĬÈÏÑ¡ÏîµÄ·þÎñ¡£Èç¹ûÄãÍ£Ö¹ÁËmysqld-nt£¬Äã±ØÐëÓÃNET
START mysqlÆô¶¯Ëü¡£
·þÎñÓÃMySqlÃû×Ö±»°²×°£¬Ò»µ©°²×°£¬Ëü±ØÐëʹÓ÷þÎñ¿ØÖƹÜÀíÆ÷(SCM)ʵÓóÌÐòÆô¶¯·þÎñ(ÔÚ¿ØÖÆÃæ°åÖÐÕÒµ½)»òʹÓÃNET
START MySQLÃüÁî¡£Èç¹ûÐèÒªÈκÎÑ¡ÏÔÚÄãÆô¶¯MySQL·þÎñǰ±ØÐë×÷ΪSCMʵÓóÌÐòµÄ¡°Æô¶¯²ÎÊý¡±Ö¸¶¨ËüÃÇ¡£Ò»µ©ÔËÐУ¬¿ÉʹÓÃmysqladmin»ò´ÓSCMʵÓóÌÐò»òʹÓÃÃüÁîNET
STOP MySQLÍ£Ö¹mysqld-nt¡£Èç¹ûÄãʹÓÃSCMÍ£Ö¹mysqld-nt£¬SCMÓÐÒ»Ìõ¹ØÓÚmysqld
shutdown normallyÆæ¹ÖµÄÏûÏ¢£¬µ±×÷ΪһÖÖ·þÎñÔËÐÐʱ£¬mysqld-ntûÓпØÖÆÌ¨µÄ´æÈ¡È¨ÏÞ£¬ËùÒÔûÓÐÏûÏ¢¿ÉÒÔ¿´¼û¡£
ÔÚNTÉÏÄã¿ÉÒԵõ½ÏÂÁзþÎñ´íÎóÏûÏ¢£º
| Permission Denied £¨È¨Ï޾ܾø£© | Òâζ×ÅËü²»ÄÜÕÒµ½mysqld-nt.exe |
| Cannot Register £¨²»ÄܵǼǣ© | Òâζ×Å·¾¶ÊDz»ÕýÈ·µÄ |
Èç¹ûÄã×÷ΪһÖÖ·þÎñ°²×°mysqld-ntÓÐÎÊÌ⣬³¢ÊÔÓÃÍêÕûµÄ·¾¶Æô¶¯Ëü£º
C:\mysql\bin\mysqld --install
Èç¹ûÕ⻹²»¹¤×÷£¬ÄãÄÜͨ¹ýÔÚ×¢²á±íÐÞÕý·¾¶Ê¹µÃmysqld-ntÕýÈ·Æô¶¯£¡
Èç¹ûÄã²»Ïë×÷ΪһÖÖ·þÎñÆô¶¯mysqld-nt£¬Äã¿ÉÒÔÈçÏÂÆô¶¯Ëü£º
C:\mysql\bin\mysqld-nt --standalone
»ò
C:\mysql\bin\mysqld-nt --standalone --debug
×îеİ汾ÔÚ¡°C:\mysqld.trace¡±¸øÄãÒ»¸öµ÷ÊÔ×Ù¼£¡£
MySQLÔÚËùÓÐWin32ƽ̨ÉÏÖ§³ÖTCP/IPºÍNTÉÏÃüÃû¹ÜµÀ¡£Èç¹û¿Í»§°²×°ÁËTCP/IP£¬È±Ê¡ÊǶÔNTÉϵı¾µØÁ¬½ÓʹÓÃÃüÃû¹ÜµÀ¶ø¶ÔËùÓÐÆäËûÇéÐÎʹÓÃTCP/IP£¬Ö÷»úÃûÖ¸¶¨Ê¹ÓÃÄĸöÐÒ飺
| Ö÷»úÃû | ÐÒé |
| ¿Õ (ûÓУ© | ÔÚNTÉÏ£¬Ê×Ïȳ¢ÊÔÃüÃû¹ÜµÀ£»Èç¹ûËü²»¹¤×÷£¬Ê¹ÓÃTCP/IP¡£ÔÚWin95/Win98ÉÏ£¬Ê¹ÓÃTCP/IP¡£ |
| . | ÃüÃû¹ÜµÀ |
| localhost | TCP/IPµ½µ±Ç°Ö÷»ú |
| Ö÷»úÃû | TCP/IP |
ͨ¹ýÖ¸¶¨ÃüÃû¹ÜµÀ--pipeÑ¡ÏÄã¿ÉÒÔÇ¿ÖÆÒ»¸öMySQL¿Í»§Ê¹ÓÃÃüÃû¹ÜµÀ¡£Ê¹ÓÃ--socketÑ¡ÏîÖ¸¶¨¹ÜµÀµÄÃû×Ö¡£
ͨ¹ýÖ´ÐÐÏÂÁÐÃüÁÄãÄܲâÊÔMySQLÊÇ·ñÕýÔÚ¹¤×÷£º
C:\mysql\bin\mysqlshow C:\mysql\bin\mysqlshow -u root mysql C:\mysql\bin\mysqladmin version status proc C:\mysql\bin\mysql test
Èç¹ûÔÚWin95/Win98ÉÏmysqldºÜÂýµØ»Ø´ðÁ¬½Ó£¬¿ÉÄÜÄãµÄDNSÓÐÎÊÌâ¡£ÔÚÕâÖÖÇé¿öÖÐÏ£¬ÓÃ--skip-name-resolveÆô¶¯mysqld²¢ÇÒÔÚMySQLÊÚȨ±íÖнöʹÓÃlocalhostºÍIPÊý×Ö¡£ÔÚÄãÁ¬½ÓÔËÐÐÔÚNTÉÏÒ»¸ömysqld-ntµÄMySQL·þÎñÆ÷ʱ£¬Ê¹ÓÃ--pipeÖ¸¶¨ÃüÃû¹ÜµÀʹÓõIJÎÊý£¬ÄãÒ²ÄܱܿªDNS£¬¶Ô´ó¶àÊýMySQL¿Í»§ÊÇ¿ÉÐеġ£
ÓÐ2¸ö°æ±¾µÄMySQLÃüÁîÐй¤¾ß£º
mysql |
ÓÃÔÉúWin32±àÒ룬ËüÌṩºÜÓÐÓÐÏÞµÄÎı¾±à¼ÄÜÁ¦¡£ |
mysqlc |
ÓÃCygnus GNU ±àÒëÆ÷ºÍ¿â±àÒ룬ËüÌṩreadline±à¼¡£ |
Èç¹ûÄãÏëʹÓÃmysqlc.exe£¬Äã±ØÐ뿽±´¡°C:\mysql\lib\cygwinb19.dll¡±µ½¡°\windows\system¡±£¨»òÀàËÆµÄµØ·½)¡£
ÔÚWin32ÉÏȱʡµÄȨÏÞ¸øËùÓб¾µØÓû§ÒÔËùÓÐÊý¾Ý¿âµÄÍêȫȨÏÞ¡£ÎªÁËʹMySQL¸ü°²È«£¬ÄãÓ¦¸ÃΪÿ¸öÓû§ÉèÖÿÚÁɾ³ýmysql.userÖÐÓÐHost='localhost'ºÍUser=''µÄÐС£
ÄãÒ²Ó¦¸ÃΪrootÓû§Ôö¼ÓÒ»¸ö¿ÚÁ£¨ÏÂÁÐÀý×Óͨ¹ýɾ³ýÄäÃûÓû§£¬ÔÊÐíÈκÎÈË´æÈ¡¡°²âÊÔ¡±Êý¾Ý¿â£©
C:\mysql\bin\mysql mysql mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> QUIT C:\mysql\bin\mysqladmin reload C:\mysql\bin\mysqladmin -u root password your_password
ÔÚÄãÉèÖÃÁË¿ÚÁîÒÔºó£¬Èç¹ûÄãÏëÒª¹Øµômysqld·þÎñÆ÷,
ÄãÄÜʹÓÃÕâ¸öÃüÁî×öµ½£º
mysqladmin -- user=root -- password=your_password shutdown
Èç¹ûÄãÕýÔÚʹÓÃÔÚwindowsϵÄMySQL¹²ÏíÈí¼þ°æ±¾£¬ÉÏÃæµÄÃüÁÒÔ
parse error near 'SET OPTION password'µÄ´íÎó¶øÊ§°Ü£¬ÕâÊÇÒòΪ£¬ÕâÊǹ²ÏíÈí¼þ°æ±¾£¬Ëü»ùÓÚMySQL
3.21£¬Ã»ÓÐSET PASSWORDÃüÁî¡£
¶Ô¹²ÏíÈí¼þ°æ±¾£¬ÄãÄÜÈçÏÂÉèÖÃrootÓû§¿ÚÁ
C:\mysql\bin\mysql mysql
mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root';
mysql> QUIT
C:\mysql\bin\mysqladmin reload
ÓÐ×¢²áµÄMySQL°æ±¾£¬ÄãÄܺÜÈÝÒ×µØÓÃGRANTºÍREVOKEÃüÁîÔö¼ÓÐÂÓû§ºÍ¸ü¸ÄȨÏÞ£¬¼û7.26 GRANTºÍREVOKE¾ä·¨¡£¶ÔWindows
µÄ¹²ÏíÈí¼þ°æ±¾£¬±ØÐëʹÓÃINSERT¡¢UPDATEºÍDELETEÔÚmysqlÊý¾Ý¿âÖеÄÒ»¸ö±íÀ´¹ÜÀíÓû§ºÍËûÃǵÄȨÏÞ£¬¼û6.13 ´æÈ¡¾Ü¾ø£¨Access denied£©µÄ´íÎóÔÒò¡£
ÕâÊÇÒ»¸ö¹ØÓÚÔõÑùÓÃSSH µÃµ½Ò»¸ö°²È«µÄÁ¬½ÓÔ¶³ÌMySQL·þÎñÆ÷µÄ×¢ÒâÊÂÏî(David Carlson)¡£
local port: 3306, host: localhost,
remote port: 3306 ¸ã¶¨¡£Ëü¶ÔÒ»¸öÖ±½ÓµÄÒòÌØÍøÁ¬½Ó¹¤×÷µÃºÜºÃ¡£ÎÒÓÐЩÎÊÌ⣬SSHÓëÎÒµÄWin95ÍøÂçºÍWingateÓгåÍ» - µ«ÊÇÄǽ«ÊÇÕÅÌùÔÚÆäËûÈí¼þ¹«Ë¾µÄÓû§×éµÄ»°Ì⣡
MySQL- Win32ÏÖÔÚÒѾ֤Ã÷ÁË×Ô¼ººÜÎȶ¨¡£Õâ¸ö°æ±¾µÃMySQLÓÐÓë¶ÔÓ¦µÄUnix°æ±¾Í¬ÑùµÄÌØÕ÷£¬³ýÁËÏÂÃæ£º
mysqldºÜ³¤Ê±¼ä£¬ÒòΪMySQLµÄÿ¸öÁ¬½Ó¶¼´´½¨Ò»¸öÐÂỊ̈߳¡WinNTºÍWin98²»ÄÜÈÝÈÌÕâ¸öbug¡£
mysqladmin killÔÚÒ»¸ö˯ÃßµÄÁ¬½ÓÉϽ«²»¹¤×÷¡£ £¬mysqladmin shutdown²»ÄÜÖÐ;Öжϡ£ ÎÒÃǼƻ®ÔÚ²»¾ÃµÄ½«À´ÐÞÕýËü¡£
DROP DATABASE mysqladmin
shutdown¹Ø±ÕËü¡£ my_tableºÍMY_TABLE¶¼Ö¸Ïòͬһ¸ö±í×Ó£¬ÏÂÁвéѯ½«²»¹¤×÷£º
SELECT * FROM my_table WHERE MY_TABLE.col=1;
LOAD
DATA INFILE»òSELECT ... INTO OUTFILE£¬Äã±ØÐëÓÃÁ½¸ö¡°\¡±×Ö·û»òʹÓÃUnix·ç¸ñµÄÎļþÃû¡°/¡±×Ö·û£º
LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; SELECT * FROM skr INTO OUTFILE 'C:/tmp/skr.txt';
Can't open named pipe´íÎó error 2017: can't open named pipe to host: . pipe...
ÕâÊÇÒòΪNTÉÏMySQLÕýʽ°æ±¾È±Ê¡µØÊ¹ÓÃÃüÃû¹ÜµÀ¡£ÄãÄÜͨ¹ýΪÐÂMySQL¿Í»§Ê¹ÓÃ--host=localhostÑ¡Ïî»ò´´½¨Ò»¸ö°üº¬ÏÂÁÐÐÅÏ¢µÄÎļþ¡°C:\my.cnf¡±À´±ÜÃâÕâ¸ö´íÎó£º
[client] host = localhost
Access denied for user´íÎó Access
denied for user: 'some-user@unknown' to database 'mysql'µÄ´íÎó£¬ÕâÒâζ×ÅMySQL²»ÄÜÕýÈ·½âÊÍÄãµÄÖ÷»úÃû¡£ÎªÁËÐÞÕýËü£¬ÄãÓ¦¸Ã´´½¨Ò»¸öÎļþ¡°\windows\hosts¡±£¬ÓÐÏÂÁÐÐÅÏ¢£º
127.0.0.1 localhost
¶ÔÓÚ¿ÉÄÜÏëÒª°ïÖúÎÒÃÇ×öºÃWin32°æ±¾µÄÈκÎÈË£¬ÕâÀïÓеÄһЩ¿ª·ÅµÄÎÊÌ⣺
MYSQL.DLL·þÎñÆ÷¡£ÕâÓ¦¸Ã°üÀ¨Ò»¸ö±ê×¼MySQL·þÎñÆ÷µÄÒ»ÇУ¬³ýÁËÏ̴߳´½¨Íâ¡£Õ⽫ʹMySQLÔÚ²»ÐèÒªÒ»¸öÕæÕýµÄ¿Í»§»ú/·þÎñÆ÷ºÍ²»ÐèÒª´ÓÆäËûÖ÷»ú´æÈ¡·þÎñÆ÷µÄÓ¦ÓóÌÐòʱ¸üÈÝÒ×ʹÓá£
mysqld.cc£¬µ«ÊÇËüÓ¦¸ÃÖØÐ±àÂë¶ø¸ü¼ÓÃæÏò¡°²ÎÊý¡±£¬¸Ã¹¤¾ßÓ¦¸ÃÒ²ÄܸüС°
\my.cnf¡±Îļþ£¬Èç¹ûÓû§±È½Ïϲ»¶Ê¹ÓÃËü¶ø²»ÊÇ×¢²á±í¡£ --installµÇ¼Çmysqld×÷ΪһÖÖ·þÎñ£¨ÔÚ NT ÉÏ )ʱ£¬Èç¹ûÄãÒ²¿ÉÒÔÔÚÃüÁîÐÐÉÏÔö¼ÓȱʡѡÏËü½«¸üºÃ£¬Ä¿Ç°½â¾ö°ì·¨ÊǸüС°C:\my.cnf¡±Îļþ¡£
£¬mysqldÊØ»¤³ÌÐò²»½ÓÊÜÐÂÁ¬½Ó¡£ÎÒÃDz»ÖªµÀÕâÊÇ·ñ
Win95¡¢TCP/IP»òMySQLµÄÎÊÌâ¡£ mysqld½«¾ø¶ÔÊǺÃÊ£¬Ä¿Ç°£¬Äã±ØÐëʹÓÃmysqladmin
shutdown¡£mysqlÃüÁîÐй¤¾ßµÄreadlineµ½Win32¡£ mysql¡¢mysqlshow¡¢mysqladminºÍmysqldump)
½«¸üºÃ¡£ mysqladmin
killɱËÀ´ò¿ªµÄÏ̡߳£ mysqld×ÜÊÇÔÚ¡°C¡±´¦Æô¶¯¶ø²»ÔÚȱʡµØµã£¬ÎÒÃÇÏëÈÃmysqldʹÓõ±Ç°µØµãÓÃÓÚÅÅÐò˳Ðò¡£
sqlclientµ½Win32(¼¸ºõÍê³É)²¢¼ÓÈë¸ü¶àµÄÌØÕ÷£¡ .DLLʵÏÖUDFº¯Êý¡£ ÆäËûWin32ÌØ¶¨ÎÊÌâÔÚMySQL-Win32·Ö·¢µÄ¡°README¡±ÎļþÖÐÃèÊö¡£
MySQLʹÓÃÌ«¶àµÄ´ò¿ªÎļþ¡£Òò´Ë£¬ÄãÓ¦¸ÃÔö¼ÓÀàËÆÏÂÃæµÄ¶«Î÷µ½ÄãµÄ¡°CONFIG.SYS¡±Îļþ£º
SET EMXOPT=-c -n -h1024
Èç¹ûÄã²»ÕâÑù×ö£¬Ä㽫¿ÉÄÜÅöµ½ÏÂÁдíÎó£º
File 'xxxx' not found (Errcode: 24)
µ±OS/2 Warp 3ÉÏʹÓÃMySQLʱ£¬ÒªÇóFixPack 29»òÒÔÉÏ¡£ÓÃOS/2 Wrap 4£¬ÒªÇóFixPack 4»òÒÔÉÏ¡£ÕâÊÇPthreads¿âµÄÒ»¸öÒªÇó¡£MySQL±ØÐë°²×°ÔÚÖ§³Ö³¤ÎļþÃûµÄÒ»¸ö·ÖÇøÉÏ£¬ÈçHPFS¡¢FAT32µÈµÈ¡£
¡°INSTALL.CMD¡±½Å±¾±ØÐë´ÓOS/2'×Ô¼ºµÄ¡°CMD.EXE¡±ÔËÐв¢ÇÒ²»Äܹ¤×÷ÔÚÌæ´úÆ·Èç¡°4OS2.EXE¡±¡£
¡°scripts/mysql-install-db¡±½Å±¾ÒѾ±»ÖØÐÂÃüÃûÁË£ºËüÏÖÔÚµ÷Óá°install.cmd¡±²¢ÇÒÊÇÒ»¸ö REXX ÊÖ¼££¬½«°²×°È±Ê¡µÄMySQL°²È«ÅäÖò¢ÎªMySQL´´½¨WorkPlace Shell ͼ±ê¡£
¶¯Ì¬Ä£¿éÖ§³Öͨ¹ý±àÒ뵫ûÓгä·Ö²âÊÔ£¬¶¯Ì¬Ä£¿éÓ¦¸ÃʹÓÃPthreadsÔËÐÐʱ¿Ì¿â±àÒë¡£
gcc -Zdll -Zmt -Zcrtdll=pthrdrtl -I../include -I../regex -I.. \
-o example udf_example.cc -L../lib -lmysqlclient udf_example.def
mv example.dll example.udf
×¢Ò⣺ÓÉÓÚOS/2µÄÏÞÖÆ£¬UDFÄ£¿éÃû×ֵĴʸɲ»Äܳ¬¹ý8¸ö×Ö·û¡£Ä£¿é±»´æ´¢ÔÚ¡°/mysql2/udf¡±Ä¿Â¼£»safe-mysqld.cmd½Å±¾½«°ÑÕâ¸öĿ¼·ÅÔÚBEGINLIBPATH»·¾³±äÁ¿ÖС£µ±Ê¹ÓÃUDFÄ£¿éʱ£¬Ö¸¶¨µÄÀ©Õ¹Ãû±»ºöÂÔ--Ëü±»¼Ù¶¨Îª¡°.udf¡±¡£ÀýÈ磬ÔÚ
UnixÉÏ£¬¹²ÏíÄ£¿é¿ÉÄܱ»ÃüÃûΪ¡°example.so¡±²¢ÇÒÄã¿ÉÒÔÏóÕâÑù´ÓËü×°ÔØº¯Êý£º
CREATE FUNCTION metaphon RETURNS STRING SONAME "example.so";
ÕýÊÇOS/2£¬Ä£¿é½«±»ÃüÃûΪ¡°example.udf¡±£¬µ«ÊÇÄã²»Ö¸¶¨Ä£¿éÀ©Õ¹Ãû£º
CREATE FUNCTION metaphon RETURNS STRING SONAME "example";
×÷ΪһÖÖ·þÎñ£¬TcXÌṩһÌ×MySQLµÄ¶þ½øÖÆ·Ö·¢£¬ËüÔÚTcX»òÔÚ¿Í»§ÓѺõظøÓëÎÒÃÇ·ÃÎÊËûÃÇ»úÆ÷µÄȨÏÞµÄÕ¾µãÉϱ»±àÒë¡£
ÕâЩ·Ö·¢ÓÃscripts/make_binary_distributionÉú³É²¢ÇÒÓÃÏÂÁбàÒëÆ÷ºÍÑ¡ÏîÅäÖãº
gcc 2.7.2.1 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --disable-shared
egcs 1.0.3a CC=gcc CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6
-fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure
--prefix=/usr/local/mysql --with-low-memory egcs 2.90.27 CC=gcc CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6
-fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure
--prefix=/usr/local/mysql --with-low-memory gcc 2.8.1 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
--with-low-memory pgcc 2.90.29 (egcs 1.0.3a) CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc
CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer
-felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql
--enable-assembler --with-mysqld-ldflags=-all-static gcc 2.7-95q4 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql gcc 2.7.2.2 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql gcc 2.8.1 CC=gcc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
--with-low-memory gcc 2.8.0 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql gcc 2.7.2.1 CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql gcc 2.7.2 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql ÈκÎÓбÈÉÏÊöÅäÖøüÓŵÄÑ¡ÏîµÄÈË×ÜÊÇÄܰÑËûÃǼĸø¿ª·¢ÕßÓʼþÁбíÖС£
MySQL3.22ÒÔǰµÄRPM·Ö·¢ÊÇÓû§¹±Ï׵ģ¬×Ô3.22¿ªÊ¼£¬Ò»Ð©RPMÊÇTcX Éú³ÉµÄ¡£
Ò»µ©ÄãÒѾ°²×°ÁËMySQL£¨´ÓÒ»¸ö¶þ½øÖÆ´úÂë»òÔ´´úÂë·Ö·¢)£¬ÄãÐèÒª³õʼ»¯ÊÚȨ±í£¬Æô¶¯·þÎñÆ÷²¢ÇÒ±£Ö¤·þÎñÆ÷ÕýÈ·ÔËÐС£ÄãÒ²¿ÉÒÔÏ£Íû°²ÅÅ·þÎñÆ÷ÔÚÄãµÄϵͳ¿ª»úºÍ¹Ø»úʱ×Ô¶¯µØ±»Æô¶¯ºÍÍ£Ö¹¡£
ͨ³££¬¶Ô´ÓÔ´´úÂë·Ö·¢µÄ°²×°£¬ÄãÏóÕâÑù°²×°ÊÚȨ±í²¢Æô¶¯·þÎñÆ÷£º
shell> ./scripts/mysql_install_db shell> cd mysql_installation_directory shell> ./bin/safe_mysqld &
¶Ô¶þ½øÖÆ·Ö·¢£¬ÕâÑù×ö£º
shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld &
²âÊÔÔÚMySQL·¢ÐеĶ¥¼¶Ä¿Â¼ÊÇ×îÈÝÒ×½øÐеġ£¶Ô¶þ½øÖÆ·Ö·¢£¬ÕâÊÇÄãµÄ°²×°Ä¿Â¼(µäÐ͵ØÀàËÆ¡°/usr/local/mysql¡±)¡£¶ÔÔ´´úÂë·Ö·¢£¬ÕâÊÇÄãµÄMySQLÔ´´úÂëÊ÷µÄÖ÷Ŀ¼¡£
ÔÚ±¾Ð¡½ÚºÍÒÔºóµÄС½ÚÖУ¬ÏÂÁÐÃüÁîÖУ¬BINDIRÊǵ½³ÌÐòÈçmysqladminºÍsafe_mysqld±»°²×°µØµãµÄ·¾¶¡£¶Ô¶þ½øÖÆ·Ö·¢£¬ÊÇÔÚ·Ö·¢Äڵġ°bin¡±Ä¿Â¼¡£¶ÔÔ´´úÂë·Ö·¢£¬BINDIR¿ÉÄÜÊÇ¡°/usr/local/bin¡±£¬³ý·ÇÔÚÄãÔËÐÐconfigureʱָ¶¨ÁËÒ»¸ö¡°
/usr/local¡±ÒÔÍâµÄ°²×°Ä¿Â¼¡£EXECDIRÊÇmysqld·þÎñÆ÷°²×°µÄµØµã£¬¶Ô¶þ½øÖÆ·Ö·¢£¬ÕâÓëBINDIRÒ»Ñù¡£¶ÔÔ´´úÂë·Ö·¢£¬EXECDIR¿ÉÄÜÊÇ¡°/usr/local/libexec¡±¡£
²âÊÔÏêϸÔÚÏÂÃæÃèÊö£º
mysqld·þÎñÆ÷²¢ÇÒ½¨Á¢³õʼMySQLÊÚȨ±í£¬°üº¬¾ö¶¨Óû§ÈçºÎ±»ÔÊÐíÁ¬½Ó·þÎñÆ÷µÄȨÏÞ¡£Õâͨ³£ÓÃmysql_install_db½Å±¾×ö£º
shell> scripts/mysql_install_db
µäÐ͵أ¬mysql_install_db½öÔÚÄãµÚÒ»´Î°²×°MySQLʱÐèÒªÔËÐУ¬Òò´Ë£¬Èç¹ûÄãÕýÔÚÉý¼¶ÏÖÓеݲװ£¬Äã¿ÉÒÔÌø¹ýÕâÒ»²½¡££¨È»¶ø£¬mysql_install_dbµÄʹÓÃÏ൱°²È«£¬²¢ÇÒ½«²»¸üÐÂÒѾ´æÔÚµÄÈÎºÎ±í£¬Òò´ËÈç¹ûÄãÊDz»Äܿ϶¨×öʲô£¬Äã×ÜÊÇ¿ÉÒÔÔËÐÐmysql_install_db¡£)
mysql_install_dbÔÚmysqlÊý¾Ý¿âÀï´´½¨6¸ö±í(user¡¢db¡¢host¡¢tables_priv¡¢columns_privºÍfunc)£¬³õʼȨÏÞµÄÃèÊöÔÚ6.10 ÉèÖóõʼMySQLȨÏÞ¸ø³ö¡£¼òµ¥µØËµ£¬ÕâЩȨÏÞÔÊÐíMySQL
rootÓû§×öÈκÎÊÂÇ飬²¢ÇÒÔÊÐíÈκÎÈË´´½¨Á¢»òʹÓÃÒ»¸öÃû×ÖÒÔ'test'»ò'test_'¿ªÊ¼µÄÊý¾Ý¿â¡£Èç¹ûÄã²»ÉèÖÃȨÏÞ±í£¬µ±ÄãÆô¶¯·þÎñÆ÷ʱ£¬ÏÂÁдíÎó½«ÔÚÈÕÖ¾Îļþ³öÏÖ£º
mysqld: Can't find file: 'host.frm'
Èç¹ûÄã²»ÊÇͨ¹ýÃ÷ÏÔµØÖ´ÐÐ./bin/safe_mysqldÀ´Æô¶¯MySQL£¬ÉÏÊö´íÎó¿ÉÄÜÒ²·¢ÉúÔÚMySQL¶þ½øÖÆ´úÂë·Ö·¢£¡Äã¿ÉÄÜÐèÒª×÷ΪrootÔËÐÐmysql_install_db£¬È»¶ø£¬Èç¹ûÄãϲ»¶£¬
Èç¹ûÓû§ÄÜÔÚÊý¾Ý¿âĿ¼¶Á²¢ÇÒдÎļþ£¬Äã¿ÉÒÔ×÷Ϊһ¸ö·ÇÌØÈ¨(·Ç--root)Óû§ÔËÐÐMySQL·þÎñÆ÷¡£×÷Ϊһ¸ö·ÇÌØÈ¨Óû§ÔËÐÐMySQLµÄÖ¸ÁîÔÚ18.8 ÔõÑù×÷Ϊһ¸öÒ»°ãÓû§ÔËÐÐ
MySQLÖиø³ö¡£Èç¹ûÄãÓÐmysql_install_dbµÄÎÊÌ⣬¼û4.15.1 ÔËÐÐmysql_install_dbµÄÎÊÌâ¡£ÒòΪmysql_install_dbÔÚMySQL·¢ÐÐÖУ¬»¹ÓÐһЩÆäËû·½·¨ÔËÐÐËü£º
mysql_install_dbǰ±à¼Ëü£¬¸Ä±ä±»°²×°µ½ÊÚȨ±íÖеijõʼȨÏÞ¡£Èç¹ûÄãÏëÒªÔÚÓÐÏàͬȨÏ޵ĺܶà»úÆ÷°²×°MySQL£¬ÕâºÜÓÐÓá£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÄÜÓ¦¸ÃÖ»ÐèÒªÔö¼Ó¼¸¸ö¶îÍâµÄINSERTÓï¾äµ½mysql.userºÍmysql.db±íÖУ¡
mysql_install_db£¬È»ºóʹÓÃmysql
-u root mysql×÷ΪMySQL rootÓû§Á¬½ÓÊÚȨ±í£¬·¢³öSQLÓï¾äÖ±½ÓÐÞ¸ÄÊÚȨ±í¡£
mysql_install_dbÒÔºóÔÙ´´½¨£¬Äã¿ÉÄÜÏëÒªÕâÑù×ö¡£
¹ØÓÚÕâЩѡÏîµÄ¸ü¶àÐÅÏ¢£¬¼û6.10 ½¨Á¢³õʼMySQLȨÏÞ¡£
shell> cd mysql_installation_directory shell> bin/safe_mysqld &
Èç¹ûÄãÆô¶¯·þÎñÆ÷µÄÎÊÌ⣬¼û4.15.2 Æô¶¯MySQL·þÎñÆ÷µÄÎÊÌâ.
mysqladmin֤ʵ·þÎñÆ÷ÕýÔÚÔËÐС£ÏÂÁÐÃüÁîÌṩ¼òµ¥µÄ²âÊÔÀ´¼ì²é·þÎñÆ÷Æô¶¯ºÍÁ¬½ÓµÄÓ¦´ð£º
shell> BINDIR/mysqladmin version shell> BINDIR/mysqladmin variables
´Ómysqladmin versionµÄÊä³ö¸ù¾ÝÄãµÄƽ̨ºÍMySQL°æ±¾ÂÔÓв»Í¬£¬µ«ÊÇÓ¦¸ÃÀàËÆÈçÏÂÏÔʾ£º
shell> BINDIR/mysqladmin version mysqladmin Ver 6.3 Distrib 3.22.9-beta, for pc-linux-gnu on i686 TCX Datakonsult AB, by Monty Server version 3.22.9-beta Protocol version 10 Connection Localhost via UNIX socket TCP port 3306 UNIX socket /tmp/mysql.sock Uptime: 16 sec Running threads: 1 Questions: 20 Reloads: 2 Open tables: 3
ΪÁ˸оõÄãÄÜÓÃBINDIR/mysqladmin×öÆäËûÊÂÇ飬ÓÃ--helpÑ¡Ïîµ÷ÓÃËü¡£
shell> BINDIR/mysqladmin -u root shutdown
safe_mysqld»òÖ±½Óµ÷ÓÃmysqld½øÐУ¬ÀýÈ磺
shell> BINDIR/safe_mysqld --log &
Èç¹ûsafe_mysqldʧ°Ü£¬´ÓMySQL°²×°Ä¿Â¼³¢ÊÔÔËÐÐËü(Èç¹ûÄãÒѾ²»ÔÚÄÇÀï)¡£Èç¹û»¹²»¹¤×÷£¬¼û4.15.2 Æô¶¯MySQL·þÎñÆ÷µÄÎÊÌâ¡£
shell> BINDIR/mysqlshow +-----------+ | Databases | +-----------+ | mysql | +-----------+ shell> BINDIR/mysqlshow mysql Database: mysql +--------------+ | Tables | +--------------+ | columns_priv | | db | | func | | host | | tables_priv | | user | +--------------+ shell> BINDIR/mysql -e "select host,db,user from db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+
ÔÚ¡°sql-bench¡±Ä¿Â¼(ÔÚMySQL°²×°Ä¿Â¼ÏÂ)Ï»¹Óлù×¼²âÊÔÌ×¼þ£¬ÄãÄÜÓÃÀ´±È½ÏÔÚ²»Í¬µÄƽ̨ÉÏMySQL±íÏÖÈçºÎ¡£¡°
sql-bench/Results¡±Ä¿Â¼°üº¬¶Ô²»Í¬µÄÊý¾Ý¿âºÍƽ̨Ðí¶àÔËÐнá¹û¡£ÎªÁËÔËÐÐËùÓеIJâÊÔ£¬Ö´ÐÐÕâЩÃüÁ
shell> cd sql-bench shell> run-all-tests
Èç¹ûÄãûÓС°sql-bench¡±Ä¿Â¼£¬Äã¿ÉÄÜÔÚ¶Ô¶þ½øÖÆ·Ö·¢Ê¹ÓÃÒ»¸öRPM£¨Ô´´úÂë·Ö·¢µÄRPM°üÀ¨»ù׼Ŀ¼)¡£ÔÚÕâÖÖÇé¿öÏ£¬ÔÚÄãÄÜʹÓÃËüÒÔǰ£¬Äã±ØÐëÊ×ÏȰ²×°»ù×¼Ì×¼þ¡£´ÓMySQL 3.22¿ªÊ¼£¬ÓÐÃûΪ¡°mysql-bench-VERSION-i386.rpm¡±µÄ»ù×¼RPM°ü£¬ËüÃǰüº¬»ù×¼´úÂëºÍÊý¾Ý¡£Èç¹ûÄãÓÐÔ´´úÂë·Ö·¢£¬ÄãÒ²¿ÉÒÔÔÚ¡°tests¡±×ÓĿ¼ÏÂÔËÐвâÊÔ¡£ÀýÈ磬ÔËÐС°auto_increment.tst¡±£¬ÕâÑù×ö£º
shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
ÆÚÍûµÄ½á¹û±»ÏÔʾÔÚ¡° ./tests/auto_increment.res¡±ÎļþÖС£
mysql_install_dbµÄÎÊÌâÕâ½ÚÁгöÔÚÄãÔËÐÐmysql_install_dbʱ£¬Äã¿ÉÄÜÓö¼ûµÄÎÊÌ⣺
mysql_install_db²»°²×°ÊÚȨ±í mysql_install_db²»Äܰ²×°ÊÚȨ±í²¢ÖÕÖ¹£º
starting mysqld daemon with databases from XXXXXX mysql daemon ended
ÔÚÕâÖÖÇé¿öÏ£¬ÄãÓ¦¸ÃºÜСÐĵؼìÑéÈÕÖ¾Îļþ£¡ÈÕÖ¾ÎļþÓ¦¸ÃλÓÚĿ¼¡°XXXXXX¡±£¬ÓôíÎóÏûÏ¢ÃüÃû£¬²¢ÇÒÓ¦¸ÃÖ¸³öΪʲômysqldûÆô¶¯¡£Èç¹ûÄã²»Àí½â·¢ÉúµÄÊÂÇ飬µ±ÄãʹÓÃmysqlbugÓʼÄÒ»·Ý´íÎ󱨸æÊ±£¬°üº¬ÈÕÖ¾Îļþ£¡¼û2.3 ÔõÑù±¨¸æ´íÎó»òÎÊÌâ¡£
mysqldÊØ»¤³ÌÐòÔÚÔËÐÐ mysql_install_db¡£µ±ÄãµÚÒ»´Î°²×°MySQLʱ£¬Äã±ØÐëÖ»ÔËÐÐmysql_install_dbÒ»´Î¡£
mysqldÊØ»¤½ø³Ì²»¹¤×÷
Can't
start server: Bind on TCP/IP port: Address already in use»òCan't start
server : Bind on unix socket...ÄãÄÜÓÃÒ»¸ö²»Í¬µÄÌ×½Ó×ÖºÍ¶Ë¿ÚÆô¶¯ÐµķþÎñÆ÷£¬ÈçÏ£º
shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock shell> MYSQL_TCP_PORT=3307 shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT shell> scripts/mysql_install_db shell> bin/safe_mysqld &
ÔÚÕâÒÔºó£¬ÄãÓ¦¸Ã±à¼ÄãµÄ·þÎñÆ÷Òýµ¼½Å±¾ÊÖ¼£Óò»Í¬µÄÌ×½Ó×ÖºÍ¶Ë¿ÚÆô¶¯Á½¸öÊØ»¤½ø³Ì¡£ÀýÈ磬ËüÄܵ÷ÓÃsafe_mysqldÁ½´Î£¬µ«ÊǶÔÿ´Îµ÷ÓÃʹÓò»Í¬µÄ--socket¡¢--portºÍ--basedirÑ¡Ïî¡£
mysql_install_db»òµ±Æô¶¯»òʹÓÃmysqldʱ£¬Äã½