程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql重裝後連接數據庫提示1045錯誤

mysql重裝後連接數據庫提示1045錯誤

編輯:MySQL綜合教程

今天發現一個奇怪的問題把mysql重新安裝之後發現再去連接mysql提示1045錯誤了,無法正常連接mysql數據庫了,下面我們一起來看此問題解決辦法。

之前因為沒有正常關機 mysql 服務無法正常啟動。後來重新安裝了之後還是不能進入root賬戶提示1045錯誤。

解決方法:

1、停止服務

2、修改my.ini,找到【mysqld】,在其下加上一行 skip-grant-tables

3、啟動mysql服務。

這樣就可以進入了。進入之後修改 mysql庫下面的user 表裡面的root 密碼改為空。

然後去掉 skip-grant-tables 重啟mysql。 把之前的庫都拷貝到新的數據庫路徑。網站即可正常訪問。

如果還是不行可參考下面方法嘗試一下

根據網上的介紹,通過命令

 代碼如下 復制代碼

mysql> use mysql; mysql> select host,user from user;

得到如下結果 +---------------+------+ | host | user | +---------------+------+ | localhost | root | +---------------+------+ 5 rows in set (0.00 sec)

發現root用戶僅允許本地(localhost)登錄

,如果要遠程登錄該mysql服務器的話,就需要新建一個普通權限的用戶,新建用戶使用如下命令:

 代碼如下 復制代碼

 mysql> grant select,update,insert,delete on mas.* to duan@localhost identified by "123456";

這句命令的意思是:新建用戶duan,並且只允許該用戶在本地(localhost)登錄,密碼是123456,並且賦予它對mas庫中所有表select,update,insert的權限。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。現在該duan用戶,已經可以登錄mysql了,但是也還是只能本地登錄。

若要duan用戶可以遠程登錄mysql,則還需要如下命令:

 代碼如下 復制代碼

 mysql> update user set host = '%' where user = 'duan';

現在我們再查看mysql的管理庫:

 mysql> select host,user from user; +-----------+------+ | host | user | +-----------+------+ | % | duan | | localhost | root | +-----------+------+ 5 rows in set (0.00 sec) 這時,在MySQL-Front上新建連接,輸入連接名,遠端的Linux的IP地址,輸入用戶名duan和密碼123456,選擇連接端口,mysql默認的是3306,還是連接不上。

經過多番查找,發現還需要執行

 代碼如下 復制代碼

mysql> flush privileges;

把緩存flush後,終於大功告成了。 因為使用update語句修改用戶記錄,還需要FLUSH語句告訴服務器重載授權表。當你使用GRANT和REVOKE語句時,表自動重載,而你直接修改授權表時不是。
所以更簡便的方法是

 代碼如下 復制代碼

mysql> grant select,update,insert,delete on mas.* to duan@“%” identified by "123456";

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved