解決辦法是從新設置root用戶密碼,在Windows平臺下操做步驟以下:
一、以系統管理員身份登陸到系統;
二、若是MySQL服務器正在運行,中止它。
若是是做爲Windows服務運行的服務器,進入服務管理器:開始菜單->控制面板->管理工具->服務
若是服務器不是做爲服務而運行的,可能須要使用任務管理器來強制中止它。
三、建立1個文本文件,並將下述命令置於單一行中: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名稱保存該文件。在本例中,該文件爲C:mysql-init.txt。
四、進入DOS命令提示:開始菜單->運行-> cmd
假定你已將MySQL安裝到C:mysql。若是你將MySQL安裝到了另外一位置,請對下述命令進行相應的調整。
在DOS命令提示符下,執行命令:
C:> C:mysqlbinmysqld-nt --init-file=C:mysql-init.txt
在服務器啓動時,執行由「--init-file」選項(做用:在啓動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當服務器成功啓動後,應刪除C:mysql-init.txt。
五、中止MySQL服務器,而後在正常模式下重啓它。若是以服務方式運行服務器,應從Windows服務窗口啓動它。若是以手動方式啓動了服務器,可以像正常情形下同樣使用命令。
應能使用新密碼進行鏈接。php
個人系統是Ubuntu6.06,最近新裝好的mysql在進入mysql工具時,老是有錯誤提示:mysql
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)linux
使用網上介紹的方法修改root用戶的密碼:sql
代碼以下 | 複製代碼 |
# mysqladmin -uroot -p password 'newpassword' Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' |
如今終於被我找到了解決方法,以下(請先測試方法三,謝謝!):數據庫
方法一:bash
代碼以下 | 複製代碼 |
# /etc/init.d/mysql stop # /etc/init.d/mysql restart |
另外一篇關於linux錯誤ide
Red Hat Enterprise Linux 5服務器上mysql啓動報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
緣由1-啓動命令錯誤:
我開始的時候直接輸入命令:mysql start
正確的啓動命令是:
/etc/rc.d/init.d/mysql start函數
緣由2-配置文件錯誤:
檢查etc下面的my.cnf以下內容:
[client]
代碼以下 | 複製代碼 |
#password = your_password |
緣由3-啓動文件錯誤:
須要修改MySQL啓動腳本/etc/rc.d/init.d/mysql,
其中datadir= ? 一行檢查下!
緣由4-前提是你在使用php鏈接時候報錯!
在/etc/php.ini修改mysql.default_socket的值設置爲:
mysql.default_socket=/var/lib/mysql/mysql.sock
回到終點設置個鏈接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(在/etc/php.ini中mysql.default_socket這個文件中,關於mysql.default_socket的值的說明是這樣的,
;Default socket name for local MySQL connects. If empty, uses the built-in MySQL defaults.
這個值一開始是空的,也就是說,若是咱們不主動去修改的話,php將會使用內建在mysql中的默認值)
注意:另外還遇到須要service mysql star才能啓動service mysql stop才能中止。
還有直接使用mysql不能找到命令,錯誤爲「bash: mysql: command not found」能夠直接**mysql的安裝目錄中的bin文件夾跟絕對路徑運行命令,還有的須要加./mysql 才能執行。
mysql修改密碼方法有幾種
方法一
使用phpMyAdmin
(圖形化管理MySql數據庫的工具),這是最簡單的,直接用SQL語句修改mysql數據庫庫的user表,不過別忘了使用PASSWORD函數,插入用戶用Insert命令,修改用戶用Update命令,刪除用Delete命令。在本節後面有數據表user字段的詳細介紹。
方法二
使用mysqladmin。輸入
mysqladmin -u root -p oldpassword newpasswd
執行這個命令後,須要輸入root的原密碼,這樣root的密碼將改成newpasswd。一樣,把命令裏的root改成你的用戶名,你就能夠改你本身的密碼了。
固然若是你的mysqladmin鏈接不上mysql
server,或者你沒有辦法執行mysqladmin,那麼這種方法就是無效的,並且mysqladmin沒法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權限:
方法三
mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','system', PASSWORD('manager'));
mysql> FLUSH PRIVILEGES
確切地說這是在增長一個用戶,用戶名爲system,密碼爲manager。注意要使用PASSWORD函數,而後還要使用FLUSH
PRIVILEGES來執行確認。