Mysql安裝過程中,到最后首次設置密碼的時候,出現這個問題。
ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)
這個就是權限不足的問題
Linux環境解決Mysql權限不足
以下方法親測好使,鑒于版本的多樣性,如果解決不了,請百度,Linux環境相關的解決Mysql權限不足還是很多文章的。
方法操作很簡單,如下:
# /etc/init.d/MySQL stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
# mysql>use mysql ;
mysql>UPDATE user SETPassword=PASSWORD('newpassword')whereUSER='root'andhost='root'orhost='localhost';//把空的用戶密碼都修改成非空的密碼就行了。
mysql>FLUSH PRIVILEGES;
mysql>quit# /etc/init.d/mysqld restart
# mysql -uroot -p
Enterpassword:<輸入新設的密碼newpassword>
Windows環境解決Mysql權限不足
Windows的環境下,這個錯誤解決方案還是很少,一搜索基本都是Linux環境下的解決教程。
Windows下面解決也很簡單,但是就是資料少。
第一步停止Mysql服務:
停止Mysql服務,停止命令為:net stop mysql,啟動命令為:net start mysql。
第二步 修改Mysql配置文件:
進入到Mysql的bin目錄下找到Mysql的配置文件。如下圖:
第三步 添加配置信息skip-grant-tables
打開文件,然后添加skip-grant-tables(很重要)
第四步 重新啟動Mysql
保存后在原來的CMD窗口啟動Mysql,啟動命令為:net start mysql。
進入到mysql的安裝目錄,我的是:E:\mysql-5.6.35-winx64。
再輸入:mysql -u root -p,然后輸入你的密碼。然后回車。應該就提示成功了。
如果這里提示是失敗的,請參考以下步驟即可(重要)
通過命令行進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入數據庫。
執行“use mysql;”,使用mysql數據庫。
執行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存并關閉文件。
重啟MySQL服務(net stop mysql ==》 net start mysql)。
在命令行中輸入“mysql -u root -p 123456”,即可成功連接數據庫。
解決后,下面的就不用看了。
第五步 修改Mysql密碼
執行sql語句:
UPDATE USER SET PASSWORD=PASSWORD('換成你的密碼')WHERE USER='root';
提示:Query OK, 3 rows affected (0.00 sec) Rows matched: 3? Changed: 3? Warnings: 0 表示成功。
第六步 刷新數據庫配置(重要)
進行到第五步,你這個時候測試,隨便輸入什么密碼都會成功鏈接。
flush privileges;
輸入flush privileges;刷新即可,后面有分號。
然后退出:quit
這個時候你再鏈接你的數據庫,并且是新設置的密碼。