Èç¹ûÄã´ÓδΪMySQLÉèÖøùÓû§ÃÜÂ룬·þÎñÆ÷ÔÚÒÔ¸ùÓû§Éí·Ý½øÐÐÁ¬½Óʱ²»ÐèÒªÃÜÂë¡£µ«ÊÇ£¬½¨ÒéÄãΪÿ¸öÕË»§ÉèÖÃÃÜÂë¡£
Èç¹ûÄãÒÔÇ°ÉèÖÃÁ˸ùÓû§ÃÜÂ룬µ«È´Íü¼ÇÁ˸ÃÃÜÂ룬¿ÉÉèÖÃеÄÃÜÂë¡£ÏÂÊö²½ÖèÊÇÕë¶ÔWindowsƽ̨µÄ¡£ÔÚ±¾½ÚºóÃæµÄÄÚÈÝÖУ¬½éÉÜÁËÕë¶ÔUnixƽ̨µÄ²½Öè¡£
ÔÚWindowsƽ̨Ï£¬¸Ã²½ÖèÊÇ£º
ÒÔϵͳ¹ÜÀíÔ±Éí·ÝµÇ¼µ½ÏµÍ³¡£
Èç¹ûMySQL·þÎñÆ÷ÕýÔÚÔËÐУ¬Í£Ö¹Ëü¡£¶ÔÓÚ×÷ΪWindows·þÎñÔËÐеķþÎñÆ÷£¬½øÈë·þÎñ¹ÜÀíÆ÷£º
¿ªÊ¼²Ëµ¥->¿ØÖÆÃæ°å->¹ÜÀí¹¤¾ß->·þÎñ
È»ºóÔÚÁбíÖÐÕÒ³öMySQL·þÎñÆ÷£¬²¢Í£Ö¹Ëü¡£
Èç¹û·þÎñÆ÷²»ÊÇ×÷Ϊ·þÎñ¶øÔËÐеģ¬¿ÉÄÜÐèҪʹÓÃÈÎÎñ¹ÜÀíÆ÷À´Ç¿ÖÆÍ£Ö¹Ëü¡£
´´½¨1¸öÎı¾Îļþ£¬²¢½«ÏÂÊöÃüÁîÖÃÓÚµ¥Ò»ÐÐÖУº
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
ÓÃÈÎÒâÃû³Æ±£´æ¸ÃÎļþ¡£ÔÚ±¾ÀýÖУ¬¸ÃÎļþΪC:\mysql-init.txt¡£
´ò¿ª¿ØÖÆ̨´°¿Ú£¬½øÈëDOSÃüÁîÌáʾ£º
¿ªÊ¼²Ëµ¥->ÔËÐÐ-> cmd
¼Ù¶¨ÄãÒѽ«MySQL°²×°µ½C:\mysql¡£Èç¹ûÄ㽫MySQL°²×°µ½ÁËÁíһλÖã¬Çë¶ÔÏÂÊöÃüÁî½øÐÐÏàÓ¦µÄµ÷Õû¡£
ÔÚDOSÃüÁîÌáʾ·ûÏ£¬Ö´ÐÐÃüÁ
C:\> C:\mysql\bin\mysqld-nt --init-file=
C:\mysql-init.txt
ÔÚ·þÎñÆ÷Æô¶¯Ê±£¬Ö´ÐÐÓÉ¡°--init-file¡±Ñ¡ÏîÃüÃûµÄÎļþµÄÄÚÈÝ£¬¸ü¸Ä¸ùÓû§ÃÜÂë¡£µ±·þÎñÆ÷³É¹¦Æô¶¯ºó£¬Ó¦É¾³ýC:\mysql-init.txt¡£
Èç¹ûÄãʹÓÃMySQL°²×°Ïòµ¼°²×°ÁËMySQL£¬»òÐíÐèÒªÖ¸¶¨¡°--defaults-file¡±Ñ¡Ï
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld-nt.exe
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini"
--init-file=C:\mysql-init.txt
ʹÓ÷þÎñ¹ÜÀíÆ÷£¬¿ÉÕÒµ½Ç¡µ±µÄ¡°--defaults-file¡±ÉèÖãº
¿ªÊ¼²Ëµ¥->¿ØÖÆÃæ°å->¹ÜÀí¹¤¾ß->·þÎñ
ÔÚÁбíÖÐÕÒ³öMySQL·þÎñ£¬ÓÒ»÷£¬²¢Ñ¡Ôñ¡°ÊôÐÔ¡±Ñ¡Ïî¡£ÔÚ¿ÉÖ´ÐÐ×ֶεÄPath£¨Â·¾¶£©Öаüº¬¡°--defaults-file¡±ÉèÖá£
Í£Ö¹MySQL·þÎñÆ÷£¬È»ºóÔÚÕý³£Ä£Ê½ÏÂÖØÆôËü¡£Èç¹ûÒÔ·þÎñ·½Ê½ÔËÐзþÎñÆ÷£¬Ó¦´ÓWindows·þÎñ´°¿ÚÆô¶¯Ëü¡£Èç¹ûÒÔÊÖ¶¯·½Ê½Æô¶¯ÁË·þÎñÆ÷£¬Äܹ»ÏñÕý³£ÇéÐÎÏÂÒ»ÑùʹÓÃÃüÁî¡£
Ó¦ÄÜʹÓÃÐÂÃÜÂë½øÐÐÁ¬½Ó¡£
ÔÚUnix»·¾³Ï£¬ÖØÖøùÓû§ÃÜÂëµÄ²½ÖèÈçÏ£º
ÒÔUnix¸ùÓû§Éí·Ý¡¢»òÒÔÔËÐÐmysqld·þÎñÆ÷µÄÏàͬÉí·ÝµÇ¼µ½ÏµÍ³¡£
ÕÒµ½°üº¬·þÎñÆ÷½ø³ÌIDµÄ.pidÎļþ¡£¸ÃÎļþµÄ׼ȷλÖúÍÃû³ÆÈ¡¾öÓÚÄãµÄ·Ö·¢°æ¡¢Ö÷»úÃûºÍÅäÖᣳ£¼ûλÖÃÊÇ/var/lib/mysql/¡¢/var/run/mysqld/ºÍ/usr/local/mysql/data/¡£Ò»°ãÇé¿öÏ£¬ÎļþÃûµÄÀ©Õ¹ÃûΪ.pid£¬²¢ÒÔmysqld»òϵͳµÄÖ÷»úÃû¿ªÊ¼¡£
ÔÚÏÂÊöÃüÁîÖÐʹÓÃ.pidÎļþµÄ·¾¶Ãû£¬Ïòmysqld½ø³Ì·¢³öÕý³£µÄkill£¨¶ø²»ÊÇkill -9£©£¬¿ÉÍ£Ö¹MySQL·þÎñÆ÷£º
shell> kill `cat /mysql-data-directory/host_name.pid`
×¢Ò⣬catÃüÁîʹÓ÷ûºÅ¡°`¡±¶ø²»ÊÇ¡°¡¯¡±£ºÕâ»áʹcatµÄÊä³ö´úÈëµ½killÃüÁîÖС£
´´½¨Îı¾Îļþ£¬²¢½«ÏÂÊöÃüÁî·ÅÔÚÎļþÄÚµÄ1ÐÐÉÏ£º
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
ÓÃÈÎÒâÃû³Æ±£´æÎļþ¡£¶ÔÓÚ±¾Àý£¬ÎļþΪ~/mysql-init¡£
ÓÃÌØÊâµÄ¡°--init-file=~/mysql-init¡±Ñ¡ÏîÖØÆôMySQL·þÎñÆ÷£º
shell> mysqld_safe --init-file=~/mysql-init &
Îļþinit-fileµÄÄÚÈÝÔÚ·þÎñÆ÷Æô¶¯Ê±Ö´ÐУ¬¸ü¸Ä¸ùÓû§ÃÜÂë¡£·þÎñÆ÷³É¹¦Æô¶¯ºó£¬Ó¦É¾³ý~/mysql-init¡£
Ó¦ÄÜʹÓÃÐÂÃÜÂë½øÐÐÁ¬½Ó¡£
×÷Ϊ¿ÉÑ¡·½Ê½£¬ÔÚÈκÎƽ̨ÉÏ£¬¿ÉʹÓÃmysql¿Í»§¶ËÉèÖÃÐÂÃÜÂ루µ«¸Ã·½·¨²»¹»°²È«£©£º
Í£Ö¹mysqld£¬²¢Óá°--skip-grant-tables --user=root¡±Ñ¡ÏîÖØÆôËü£¨WindowsÓû§¿ÉÊ¡ÂÔ--user=root²¿·Ö£©¡£
ʹÓÃÏÂÊöÃüÁîÁ¬½Óµ½mysqld·þÎñÆ÷£º
shell> mysql -u root
ÔÚmysql¿Í»§¶Ë·¢³öÏÂÊöÓï¾ä£º
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
ÓôòËãʹÓõÄʵ¼Ê¸ùÓû§ÃÜÂëÌæ»»¡°newpwd¡±¡£
Ó¦ÄÜʹÓÃÐÂÃÜÂë½øÐÐÁ¬½Ó¡£