【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費(fèi)教程|自學(xué)電腦|3D教程|平面教程|影視動(dòng)畫(huà)教程|辦公教程|機(jī)械設(shè)計(jì)教程|網(wǎng)站設(shè)計(jì)教程!【道勤網(wǎng)】

標(biāo)題: mysql Access denied for user root@localhost錯(cuò)誤解決方法總結(jié) [打印本頁(yè)]

作者: 學(xué)習(xí)NO.1    時(shí)間: 2015-8-8 21:37
標(biāo)題: mysql Access denied for user root@localhost錯(cuò)誤解決方法總結(jié)
mysql Access denied for user \'root\'@\'localhost\'”解決辦法總結(jié),下面我們對(duì)常見(jiàn)的出現(xiàn)的一些錯(cuò)誤代碼進(jìn)行分析并給出解決辦法,有需要的朋友可參考一下。

錯(cuò)誤代碼 1045

Access denied for user 'root'@'localhost' (using password:YES)

解決辦法是重新設(shè)置root用戶密碼,在Windows平臺(tái)下操作步驟如下:
1、以系統(tǒng)管理員身份登錄到系統(tǒng);
2、如果MySQL服務(wù)器正在運(yùn)行,停止它。
  如果是作為Windows服務(wù)運(yùn)行的服務(wù)器,進(jìn)入服務(wù)管理器:開(kāi)始菜單->控制面板->管理工具->服務(wù)
  如果服務(wù)器不是作為服務(wù)而運(yùn)行的,可能需要使用任務(wù)管理器來(lái)強(qiáng)制停止它。
3、創(chuàng)建1個(gè)文本文件,并將下述命令置于單一行中:
  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
  用任意名稱(chēng)保存該文件。在本例中,該文件為C:mysql-init.txt。
4、進(jìn)入DOS命令提示:開(kāi)始菜單->運(yùn)行-> cmd
  假定你已將MySQL安裝到C:mysql。如果你將MySQL安裝到了另一位置,請(qǐng)對(duì)下述命令進(jìn)行相應(yīng)的調(diào)整。
  在DOS命令提示符下,執(zhí)行命令:
  C:> C:mysqlbinmysqld-nt --init-file=C:mysql-init.txt
  在服務(wù)器啟動(dòng)時(shí),執(zhí)行由“--init-file”選項(xiàng)(作用:在啟動(dòng)時(shí)從指定的文件中讀取SQL命令)命名的文件的內(nèi)容,更改根用戶密碼。當(dāng)服務(wù)器成功啟動(dòng)后,應(yīng)刪除C:mysql-init.txt。
5、停止MySQL服務(wù)器,然后在正常模式下重啟它。如果以服務(wù)方式運(yùn)行服務(wù)器,應(yīng)從Windows服務(wù)窗口啟動(dòng)它。如果以手動(dòng)方式啟動(dòng)了服務(wù)器,能夠像正常情形下一樣使用命令。
應(yīng)能使用新密碼進(jìn)行連接。


我的系統(tǒng)是Ubuntu6.06,最近新裝好的mysql在進(jìn)入mysql工具時(shí),總是有錯(cuò)誤提示:

# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

使用網(wǎng)上介紹的方法修改root用戶的密碼:

  1. 錯(cuò)誤代碼 1045
  2. Access denied for user 'root'@'localhost' (using password:YES)
  3. 解決辦法是重新設(shè)置root用戶密碼,在Windows平臺(tái)下操作步驟如下:
  4. 1、以系統(tǒng)管理員身份登錄到系統(tǒng);
  5. 2、如果MySQL服務(wù)器正在運(yùn)行,停止它。
  6.   如果是作為Windows服務(wù)運(yùn)行的服務(wù)器,進(jìn)入服務(wù)管理器:開(kāi)始菜單->控制面板->管理工具->服務(wù)
  7.   如果服務(wù)器不是作為服務(wù)而運(yùn)行的,可能需要使用任務(wù)管理器來(lái)強(qiáng)制停止它。
  8. 3、創(chuàng)建1個(gè)文本文件,并將下述命令置于單一行中:
  9.   SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
  10.   用任意名稱(chēng)保存該文件。在本例中,該文件為C:mysql-init.txt。
  11. 4、進(jìn)入DOS命令提示:開(kāi)始菜單->運(yùn)行-> cmd
  12.   假定你已將MySQL安裝到C:mysql。如果你將MySQL安裝到了另一位置,請(qǐng)對(duì)下述命令進(jìn)行相應(yīng)的調(diào)整。
  13.   在DOS命令提示符下,執(zhí)行命令:
  14.   C:> C:mysqlbinmysqld-nt --init-file=C:mysql-init.txt
  15.   在服務(wù)器啟動(dòng)時(shí),執(zhí)行由“--init-file”選項(xiàng)(作用:在啟動(dòng)時(shí)從指定的文件中讀取SQL命令)命名的文件的內(nèi)容,更改根用戶密碼。當(dāng)服務(wù)器成功啟動(dòng)后,應(yīng)刪除C:mysql-init.txt。
  16. 5、停止MySQL服務(wù)器,然后在正常模式下重啟它。如果以服務(wù)方式運(yùn)行服務(wù)器,應(yīng)從Windows服務(wù)窗口啟動(dòng)它。如果以手動(dòng)方式啟動(dòng)了服務(wù)器,能夠像正常情形下一樣使用命令。
  17. 應(yīng)能使用新密碼進(jìn)行連接。

  18. 我的系統(tǒng)是Ubuntu6.06,最近新裝好的mysql在進(jìn)入mysql工具時(shí),總是有錯(cuò)誤提示:
  19. # mysql -uroot -p
  20. Enter password:
  21. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  22. 使用網(wǎng)上介紹的方法修改root用戶的密碼:
復(fù)制代碼

現(xiàn)在終于被我找到了解決方法,如下(請(qǐng)先測(cè)試方法三,謝謝。

方法一:

  1. # /etc/init.d/mysql stop
  2. # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  3. # mysql -u root mysql
  4. mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
  5. mysql> FLUSH PRIVILEGES;
  6. mysql> quit
  7. # /etc/init.d/mysql restart
  8. # mysql -uroot -p
  9. Enter password: <輸入新設(shè)的密碼newpassword>
復(fù)制代碼

另一篇關(guān)于linux錯(cuò)誤


Red Hat Enterprise Linux 5服務(wù)器上mysql啟動(dòng)報(bào)錯(cuò):ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
原因1-啟動(dòng)命令錯(cuò)誤:
我開(kāi)始的時(shí)候直接輸入命令:mysql start
正確的啟動(dòng)命令是:
/etc/rc.d/init.d/mysql start

原因2-配置文件錯(cuò)誤:
檢查etc下面的my.cnf如下內(nèi)容:

[client]

  1. #password   = your_password
  2. port     = 3306
  3. socket     = /usr/mysql-data/mysql.sock
  4. # Here follows entries for some specific programs
  5. # The MySQL server
  6. [mysqld]
  7. port     = 3306
  8. socket     = /usr/mysql-data/mysql.sock
復(fù)制代碼

原因3-啟動(dòng)文件錯(cuò)誤:
需要修改MySQL啟動(dòng)腳本/etc/rc.d/init.d/mysql,
其中datadir=   ?     一行檢查下!

原因4-前提是你在使用php連接時(shí)候報(bào)錯(cuò)!
在/etc/php.ini修改mysql.default_socket的值設(shè)置為:
mysql.default_socket=/var/lib/mysql/mysql.sock
回到終點(diǎn)設(shè)置個(gè)連接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(在/etc/php.ini中mysql.default_socket這個(gè)文件中,關(guān)于mysql.default_socket的值的說(shuō)明是這樣的,
;Default socket name for local MySQL connects. If empty, uses the built-in MySQL defaults.
這個(gè)值一開(kāi)始是空的,也就是說(shuō),如果我們不主動(dòng)去修改的話,php將會(huì)使用內(nèi)建在mysql中的默認(rèn)值)


注意:另外還遇到需要service mysql star才能啟動(dòng)service mysql stop才能停止。
還有直接使用mysql不能找到命令,錯(cuò)誤為“bash: mysql: command not found”可以直接**mysql的安裝目錄中的bin文件夾跟絕對(duì)路徑運(yùn)行命令,還有的需要加./mysql 才能執(zhí)行。


mysql修改密碼方法有幾種

方法一   

使用phpMyAdmin

  (圖形化管理MySql數(shù)據(jù)庫(kù)的工具),這是最簡(jiǎn)單的,直接用SQL語(yǔ)句修改mysql數(shù)據(jù)庫(kù)庫(kù)的user表,不過(guò)別忘了使用PASSWORD函數(shù),插入用戶用Insert命令,修改用戶用Update命令,刪除用Delete命令。在本節(jié)后面有數(shù)據(jù)表user字段的詳細(xì)介紹。   

方法二   

  使用mysqladmin。輸入  

  mysqladmin -u root -p oldpassword newpasswd  

執(zhí)行這個(gè)命令后,需要輸入root的原密碼,這樣root的密碼將改為newpasswd。同樣,把命令里的root改為你的用戶名,你就可以改你自己的密碼了。

  當(dāng)然如果你的mysqladmin連接不上mysql

  server,或者你沒(méi)有辦法執(zhí)行mysqladmin,那么這種方法就是無(wú)效的,而且mysqladmin無(wú)法把密碼清空。   

  下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:   

方法三   

  mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','system', PASSWORD('manager'));

  mysql> FLUSH PRIVILEGES   

  確切地說(shuō)這是在增加一個(gè)用戶,用戶名為system,密碼為manager。注意要使用PASSWORD函數(shù),然后還要使用FLUSH

  PRIVILEGES來(lái)執(zhí)行確認(rèn)。  







歡迎光臨 【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費(fèi)教程|自學(xué)電腦|3D教程|平面教程|影視動(dòng)畫(huà)教程|辦公教程|機(jī)械設(shè)計(jì)教程|網(wǎng)站設(shè)計(jì)教程!【道勤網(wǎng)】 (http://bmrsportswear.com/) Powered by Discuz! X3.4