如果不是root密碼:
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、朝陽(yáng)縣網(wǎng)站維護(hù)、網(wǎng)站推廣。
連root的密碼也忘記了嗎?
沒(méi)有的話(huà),用root進(jìn)去,修改mysql數(shù)據(jù)庫(kù)user表咯。
如果是root密碼:
方法一:
MySQL提供跳過(guò)訪(fǎng)問(wèn)控制的命令行參數(shù),通過(guò)在命令行以此命令啟動(dòng)MySQL服務(wù)器:
safe_mysqld --skip-grant-tables
即可跳過(guò)MySQL的訪(fǎng)問(wèn)控制,任何人都可以在控制臺(tái)以管理員的身份進(jìn)入MySQL數(shù)據(jù)庫(kù)。
需要注意的是在修改完密碼以后要把MySQL服務(wù)器停掉重新啟動(dòng)才會(huì)生效
方法二:
可以進(jìn)行如下的步驟重新設(shè)置MySQL的root密碼:
1.首先確認(rèn)服務(wù)器出于安全的狀態(tài),也就是沒(méi)有人能夠任意地連接MySQL數(shù)據(jù)庫(kù)。
因?yàn)樵谥匦略O(shè)置MySQL的root密碼的期間,MySQL數(shù)據(jù)庫(kù)完全出于沒(méi)有密碼保護(hù)的
狀態(tài)下,其他的用戶(hù)也可以任意地登錄和修改MySQL的信息。可以采用將MySQL對(duì)
外的端口封閉,并且停止Apache以及所有的用戶(hù)進(jìn)程的方法實(shí)現(xiàn)服務(wù)器的準(zhǔn)安全
狀態(tài)。最安全的狀態(tài)是到服務(wù)器的Console上面操作,并且拔掉網(wǎng)線(xiàn)。
2.修改MySQL的登錄設(shè)置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
3.重新啟動(dòng)mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登錄并修改MySQL的root密碼
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql quit
Bye
5.將MySQL的登錄設(shè)置修改回來(lái)
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
保存并且退出vi。
6.重新啟動(dòng)mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
windows
1.以系統(tǒng)管理員身份登陸系統(tǒng)。
2.打開(kāi)cmd—–net start 查看mysql是否啟動(dòng)。啟動(dòng)的話(huà)就停止net stop mysql.
3.我的mysql安裝在d:\usr\local\mysql4\bin下。
4.跳過(guò)權(quán)限檢查啟動(dòng)mysql.
d:\usr\local\mysql4\bin\mysqld-nt –skip-grant-tables
5.重新打開(kāi)cmd。進(jìn)到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.搞定了。
2,MySQL4.1以上版本一種密碼錯(cuò)誤問(wèn)題的解決方法
1 # SET PASSWORD FOR ’some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);
2 # FLUSH PRIVILEGES;
3,Mysql數(shù)據(jù)庫(kù)修復(fù)
myisamchk -r -q d:\mysql\data\latin1\*
r代表修復(fù)
q代表快速
d:\mysql\data\latin1\*數(shù)據(jù)庫(kù)里面 *代表里面的所有的文件
方法三:
如果你忘記了你的MYSQL的root口令的話(huà),你可以通過(guò)下面的過(guò)程恢復(fù)。
1. 向mysqld server 發(fā)送kill命令關(guān)掉mysqld server(不是 kill -9),存放進(jìn)程ID的文件通常在MYSQL的數(shù)據(jù)庫(kù)所在的目錄中。
kill `cat /mysql-data-directory/hostname.pid`
你必須是UNIX的root用戶(hù)或者是你所運(yùn)行的SERVER上的同等用戶(hù),才能執(zhí)行這個(gè)操作。
2. 使用`--skip-grant-tables' 參數(shù)來(lái)啟動(dòng) mysqld。
3. 使用`mysql -h hostname mysql'命令登錄到mysqld server ,用grant命令改變口令。你也可以這樣做:`mysqladmin -h hostname -u user password 'new password''。
(其實(shí)也可以用use mysql; update user set password =password('yourpass') where user='root' 來(lái)做到。)
4. 載入權(quán)限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(當(dāng)然,在這里,你也可以重啟mysqld。)
方法四:(一定要先備份)
1,重新在另一臺(tái)電腦上安裝相同版本的MySQL
2,刪除忘記密碼的電腦中MySQL安裝目錄中\(zhòng)data\mysql的全部?jī)?nèi)容(要先停止MySQL服務(wù))
3,Copy新裝的電腦上MySQL安裝目錄中\(zhòng)data\mysql的全部?jī)?nèi)容 to 剛剛刪除的目錄中
4,啟動(dòng)MySQL服務(wù)
您可以使用界面化的工具,然后將記住密碼勾選上就可以不輸了。
通過(guò)MySQL命令行,你可以密碼MySQL數(shù)據(jù)庫(kù),下面為您詳細(xì)介紹MySQL命令行,如果你有興趣,不妨一看。點(diǎn)擊看詳細(xì)格式:中mysqladmin -u用戶(hù)名-p舊密碼password新密碼,點(diǎn)擊看詳細(xì)1,給root加個(gè)密碼ab12。首先,進(jìn)入DOS的mysql \ bin中的目錄,然后鍵入以下命令
中mysqladmin -u根-password AB12
注:由于開(kāi)始時(shí)root沒(méi)有密碼,所以老一個(gè)口令-p可以省略。點(diǎn)擊看詳細(xì)2,然后root的密碼改為djg345。
中mysqladmin -u根-p AB12 djg345點(diǎn)擊看詳細(xì)(注密碼:以上是不同的,因?yàn)樗荕YSQL以下命令的環(huán)境中,所以用分號(hào)后面的命令終止),點(diǎn)擊看詳細(xì)3,改變?cè)诿钚猩蟫oot的密碼:
的mysql更新mysql.user設(shè)置密碼= PASSWORD(“新密碼”)其中user ='根' ;
的mysql FLUSH PRIVILEGES;點(diǎn)擊看詳細(xì)4,顯示當(dāng)前用戶(hù):
的mysql SELECT USER();
1、關(guān)閉mysql服務(wù)先;
2、然后修改my.ini(my.cnf)文件,在[mysqld]下加上skip-grant-tables
3、啟動(dòng)mysql服務(wù),在linux命令行或windows cmd下輸入 mysql 回車(chē) 登錄mysql
4、use mysql,update user set password=password('新密碼') where user='root';
5、flush privileges,刷新權(quán)限生效
6,、關(guān)閉mysql服務(wù),修改my.ini(my.cnf) 把[mysqld]下的skip-grant-tables去掉,并重新啟動(dòng)mysql服務(wù)
7,、mysql -u root -p密碼 登錄mysql
1、以管理員的身份打開(kāi)cmd,然后跳過(guò)權(quán)限啟動(dòng)mysql,命令:xxx?--skip-grant-tables 前面是mysql配置文件的位置,然后回車(chē)。
2、新打開(kāi)個(gè)cmd窗口,進(jìn)入到mysql配置文件目錄bin下,然后輸入 mysql -uroot -p 再回車(chē),這步是以空密碼進(jìn)入mysql。
3、空密碼進(jìn)入mysql后,如果前面都設(shè)置正確的話(huà),這步顯示的界面是Welcome to the MariaDB monitor。
4、然后可以show database; 查看當(dāng)前的數(shù)據(jù)庫(kù),回車(chē)后會(huì)列舉出當(dāng)前數(shù)據(jù)庫(kù)的列表。
5、然后執(zhí)行命令:update user set password=password('新密碼') where user='root'; 并回車(chē),其中括號(hào)中的就是將要設(shè)置的新密碼。
6、執(zhí)行完后會(huì)提示你 Query OK,表示執(zhí)行成功了,再用新密碼登錄就可以了。
windows 找到my.ini文件
linux找到my.cnf文件
修改文件內(nèi)容
在[mysqld]下添加 skip-grant-tables 如圖,保存文件
重啟mysql service mysqld restart