bitsCN.com
http://zhidao.baidu.com/question/39198255.html<br />可以进行如下的步骤重新设置MySQL的root密码: <br />1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 <br />因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 <br />状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 <br />外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 <br />状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 <br />2.修改MySQL的登录设置: <br /><strong># vi /etc/mysql/my.cnf</strong> <br />在[mysqld]的段中加上一句:<strong>skip-grant-tables</strong> <br />例如: <br />[mysqld] <br />datadir=/var/lib/mysql <br />socket=/var/lib/mysql/mysql.sock <br />skip-name-resolve <br />skip-grant-tables <br />保存并且退出vi。 <br />3.重新启动mysqld <br /># service mysql restart <br />Stopping MySQL: [ OK ] <br />Starting MySQL: [ OK ] <br />4.登录并修改MySQL的root密码 <br /># /usr/bin/mysql <br />Welcome to the MySQL monitor. Commands end with ; or /g. <br />Your MySQL connection id is 3 to server version: 3.23.56 <br />Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. <br /><strong>mysql> USE mysql ;</strong> <br />Reading table information for completion of table and column names <br />You can turn off this feature to get a quicker startup with -A <br />Database changed <br /><strong>mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;</strong>
<strong>mysql> UPDATE user SET Password = password ( ‘wtm98077’ ) WHERE User = ‘root’ ;</strong>
<br />Query OK, 0 rows affected (0.00 sec) <br />Rows matched: 2 Changed: 0 Warnings: 0 <br />mysql> flush privileges ; <br />Query OK, 0 rows affected (0.01 sec) <br />mysql> quit <br />Bye <br />5.将MySQL的登录设置修改回来 <br /># vi /etc/my.cnf <br />将刚才在[mysqld]的段中加上的skip-grant-tables删除 <br />保存并且退出vi。 <br />6.重新启动mysqld <br /># /etc/init.d/mysqld restart <br />Stopping MySQL: [ OK ] <br />Starting MySQL: [ OK ] <br /><br />下面这行代码也可以在正常在正常情况下更改密码,但要在重启mysql服务后才生效
<strong>mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;</strong>