一、操作思路:
1)停止mysql服務
2)啟動時添加“--skip-grant-tables”參數
3)修改密碼
4)重新開機mysql服務
二、執行過程
<code># netstat -tunlp | grep 330*</code>
<code>tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13157</code><code>/mysqld</code>
<code>tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 13874</code><code>/mysqld</code>
<code>tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 12388</code><code>/mysqld</code>
<code># 這裡假設忘記的是3308執行個體的root密碼</code>
<code># 先安全關閉另外兩個執行個體</code>
<code># /data/3306/mysql stop</code>
<code># /data/3307/mysql stop</code>
<code># killall mysqld</code>
<code># mysqld_safe --defaults-file=/data/3308/my.cnf --skip-grant-tables &</code>
<code>[2] 10883</code>
<code># 161011 22:05:47 mysqld_safe Logging to '/data/3308/mysql_oldboy3308.err'.</code>
<code>161011 22:05:48 mysqld_safe Starting mysqld daemon with databases from </code><code>/data/3308/data</code>
<code># mysql -uroot -p -S /data/3308/mysql.sock</code>
<code>Enter password: (這裡直接回車就進去了)</code>
<code>Welcome to the MySQL monitor. Commands end with ; or \g.</code>
<code>Your MySQL connection </code><code>id</code> <code>is 1</code>
<code>Server version: 5.5.32-log Source distribution</code>
<code>Copyright (c) 2000, 2013, Oracle and</code><code>/or</code> <code>its affiliates. All rights reserved.</code>
<code>Oracle is a registered trademark of Oracle Corporation and</code><code>/or</code> <code>its</code>
<code>affiliates. Other names may be trademarks of their respective</code>
<code>owners.</code>
<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>
<code>mysql> update mysql.user </code><code>set</code> <code>password=password(</code><code>"redhat123456"</code><code>) where user=</code><code>'root'</code><code>;</code>
<code>Query OK, 4 rows affected (0.00 sec)</code>
<code>Rows matched: 4 Changed: 4 Warnings: 0</code>
<code># 更新root賬号的密碼</code>
<code>mysql> flush privileges;</code>
<code>Query OK, 0 rows affected (0.00 sec)</code>
<code># 重新整理權限</code>
<code># netstat -tunlp | grep mysql</code>
<code>tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 11620</code><code>/mysqld</code>
<code>[1]+ Done mysqld_safe --default-</code><code>file</code><code>=</code><code>/data/3308/my</code><code>.cnf --skip-grant-tables --user=mysql</code>
<code># pkill mysql</code>
<code># /data/3308/mysql start</code>
<code>Starting MySQL...</code>
<code># echo $?</code>
<code>0</code>
三、驗證
<code># mysql -uroot -predhat123456 -S /data/3308/mysql.sock</code>
<code>mysql></code>
<code></code>
本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1861096,如需轉載請自行聯系原作者