Mysql安裝過程中,到最后首次設(shè)置密碼的時(shí)候,出現(xiàn)這個(gè)問題。
ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)
這個(gè)就是權(quán)限不足的問題
Linux環(huán)境解決Mysql權(quán)限不足
以下方法親測(cè)好使,鑒于版本的多樣性,如果解決不了,請(qǐng)百度,Linux環(huán)境相關(guān)的解決Mysql權(quán)限不足還是很多文章的。
方法操作很簡(jiǎn)單,如下:
# /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:<輸入新設(shè)的密碼newpassword>
Windows環(huán)境解決Mysql權(quán)限不足
Windows的環(huán)境下,這個(gè)錯(cuò)誤解決方案還是很少,一搜索基本都是Linux環(huán)境下的解決教程。
Windows下面解決也很簡(jiǎn)單,但是就是資料少。
第一步停止Mysql服務(wù):
停止Mysql服務(wù),停止命令為:net stop mysql,啟動(dòng)命令為:net start mysql。
第二步 修改Mysql配置文件:
進(jìn)入到Mysql的bin目錄下找到Mysql的配置文件。如下圖:

第三步 添加配置信息skip-grant-tables
打開文件,然后添加skip-grant-tables(很重要)

第四步 重新啟動(dòng)Mysql
保存后在原來的CMD窗口啟動(dòng)Mysql,啟動(dòng)命令為:net start mysql。
進(jìn)入到mysql的安裝目錄,我的是:E:\mysql-5.6.35-winx64。
再輸入:mysql -u root -p,然后輸入你的密碼。然后回車。應(yīng)該就提示成功了。

如果這里提示是失敗的,請(qǐng)參考以下步驟即可(重要)
通過命令行進(jìn)入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進(jìn)入數(shù)據(jù)庫。
執(zhí)行“use mysql;”,使用mysql數(shù)據(jù)庫。
執(zhí)行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存并關(guān)閉文件。
重啟MySQL服務(wù)(net stop mysql ==》 net start mysql)。
在命令行中輸入“mysql -u root -p 123456”,即可成功連接數(shù)據(jù)庫。
解決后,下面的就不用看了。
第五步 修改Mysql密碼
執(zhí)行sql語句:
UPDATE USER SET PASSWORD=PASSWORD('換成你的密碼')WHERE USER='root';
提示:Query OK, 3 rows affected (0.00 sec) Rows matched: 3? Changed: 3? Warnings: 0 表示成功。
第六步 刷新數(shù)據(jù)庫配置(重要)
進(jìn)行到第五步,你這個(gè)時(shí)候測(cè)試,隨便輸入什么密碼都會(huì)成功鏈接。
flush privileges;
輸入flush privileges;刷新即可,后面有分號(hào)。
然后退出:quit
這個(gè)時(shí)候你再鏈接你的數(shù)據(jù)庫,并且是新設(shè)置的密碼。
