對Navicat for MySQL 中1045錯誤的解決辦法


Navicat連接MySQL數據庫時難免會遇到1045錯誤,主要是因為用戶輸入的用戶名或密碼錯誤被拒絕訪問,如果不想重裝,需要找回密碼或者重置密碼。

Navicat for MySQL 1045錯誤
Navicat for MySQL 1045錯誤

問題描述:

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

解決辦法是重新設置root用戶密碼,在Windows平台下操作步驟如下:

方法一:

1、以系統管理員身份登錄到系統;

2、如果MySQL服務器正在運行,停止它。

如果是作為Windows服務運行的服務器,進入服務管理器:開始菜單->控制面板->管理工具->服務;如果服務器不是作為服務而運行,可能需要使用任務管理器來強制停止它。

3、創建1個文本文件,並將下述命令置於單一行中:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。

4、進入DOS命令提示:開始菜單->運行-> cmd

假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。

在DOS命令提示符下,執行命令:

C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

在服務器啟動時,執行由“--init-file”選項,在啟動時從指定的文件中讀取SQL命令命名的文件的內容,更改根用戶密碼。當服務器成功啟動后,應刪除C:\mysql-init.txt。

5、停止MySQL服務器,然后在正常模式下重啟它。

如果以服務方式運行服務器,應從Windows服務窗口啟動它;如果以手動方式啟動了服務器,能夠像正常情形下一樣使用命令。

方法二:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where

USER=’root’;

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

Enter password: <輸入新設的密碼newpassword>

mysql>

方法三:

直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:

# mysql -udebian-sys-maint -p

Enter password: <輸入[client]節的密碼>

mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where

USER=’root’;

mysql> FLUSH PRIVILEGES;

mysql> quit

# mysql -uroot -p

Enter password: <輸入新設的密碼newpassword>

mysql>

方法四:

1、管理員登陸系統,停止mysql服務或者結束mysqld-nt進程

2、進入命令行,來到mysql的安裝目錄.假設安裝目錄為 d:\mysql\,CMD進入命令行

3、運行 d:\mysql\bin\mysqld-nt --skip-grant-tables 啟動mysql,關閉權限的檢查

4、運行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重設root密碼

5、重新啟動mysql服務

本文來源於:http://www.formysql.com/wenti/jiejue-1045.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM