一、一般忘記密碼的解決辦法,需要重啟Mysql
1、skip-grant-tables
我們常用的方法是使用skip-grant-tables選項,mysqld server啟動之后并不使用權限系統(privilege system)。用戶不需要任何賬號、不受任何限制的訪問數據庫中所有數據。為了安全起見,通常加上 skip-networking ,mysqld不偵聽任何TCP/IP連接請求。操作過程如下,
1)修改my.cnf配置文件,在mysqld選項中添加skip-grant-tables和skip-networking。
2)再重啟mysqld server。
3)通過sql語句修改mysql.user表中存儲密碼。執行flush privileges,重新啟用mysql權限系統。
二、不重啟mysqld的方法
1、首先得有一個可以擁有修改權限的mysql數據庫賬號,當前的mysql實例賬號(較低權限的賬號,比如可以修改test數據庫)或者其他相同版本實例的賬號。把data/mysql目錄下面的user表相關的文件復制到data/test目錄下面。