標籤:
在實際操作中忘記MySQL的root密碼是一件令人很頭痛的事情,不要急以下的文章就是介紹MySQL的root密碼忘記的時候解決方案,我們可以對其進行如下的步驟重新設定,以下就是文章的詳細內容描述。 首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地串連MySQL資料庫。因為在重新設定MySQL的root密碼的期間,MySQL資料庫完全出於沒有密碼保護的狀態下,其他的使用者也可以任意地登入和修改MySQL的資訊。可以採用將MySQL對外的連接埠封閉,並且停止Apache以及所有的使用者進程的方法實現伺服器的准安全狀態。最安全的狀態是到伺服器的Console上面操作,並且拔掉網線。 一、LINUX1、修改MYSQL的登陸設定:# vim /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables例如:[mysql] datadir=/var/lib/MySQL socket=/var/lib/MySQL/MySQL.sock skip-name-resolve skip-grant-tables 儲存並且退出vim 2、重新啟動MYSQL# /etc/init.d/mysql restart (具體重啟方式各異)Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 3、登陸並修改MYSQL密碼# /usr/bin/mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2973379Server version: 5.5.30-log Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> use mysql;mysql> update user set password=password(‘new-password‘) where user=‘root‘;mysql> flush privileges;mysql> quit 4、將MYSQL的登陸設定改回來# vim /etc/my.cnf將剛才在[mysqld]的段中加上的skip-grant-tables刪除儲存退出vim 5、重新啟動MYSQL# /etc/init.d/mysql restartStopping MySQL: [ OK ] Starting MySQL: [ OK ] 二、WINDOWS 1>以系統管理員身份登陸系統。 2>開啟cmd—–net start 查看MySQL是否啟動。啟動的話就停止net stop MySQL 3>我的MySQL安裝在d:\usr\local\MySQL4\bin下。 4>跳過許可權檢查啟動MySQL. d:\usr\local\MySQL4\bin\MySQLd-nt –skip-grant-tables 5>重新開啟cmd。進到d:\usr\local\MySQL4\bin下: d:\usr\local\MySQL4\bin\MySQLadmin -uroot flush-privileges password “newpassword” d:\usr\local\MySQL4\bin\MySQLadmin -u root -p shutdown 這句提示你重新輸密碼。 6>在cmd裡net start MySQL 7>搞定了。 附:MySQL4.1以上版本一種密碼錯誤問題的解決方案 1 # SET PASSWORD FOR ‘some_user‘@‘some_host‘ = OLD_PASSWORD(‘newpwd‘); 2 # FLUSH PRIVILEGES; 3,MySQL資料庫修複 myisamchk -r -q d:\MySQL\data\latin1\* r代表修複 q代錶快速 d:\MySQL\data\latin1\*資料庫裡面 *代表裡面的所有的檔案 以上的相關內容就是對MySQL重設root密碼 的介紹,望你能有所收穫。
MySQL忘記root密碼的解決方案