MySQL中出現Access denied for user '**'@'localhost' (using password: YES)


https://blog.csdn.net/love_taylor/article/details/77198850

 

 

第一:當出現Access denied for user 'root'@'localhost' (using password: YES)

解決方案:

    1、打開MySQL目錄下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存並關閉文件。(WIN7默認安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
    2、重啟MySQL服務。
    3、通過命令行進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入數據庫。(WIN7默認安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
    4、執行“use mysql;”,使用mysql數據庫。
    5、執行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
    6、打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存並關閉文件。
    7、重啟MySQL服務。

    8、在命令行中輸入“mysql -u root -p 123456”,即可成功連接數據庫。

參考:http://blog.csdn.net/skywalker_leo/article/details/47274441


第二:MySQL中出現Access denied for user 'test'@'localhost' (using password: YES)

     當數據庫出現這種錯誤時,一般是自己創建一個用戶沒有訪問權限。

     (1)創建用戶

    1、首先以root登陸,然后創建用戶
    2、mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("123456"));
 注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一台機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一台電腦上都可以登錄。也可以指定某台機器可以遠程登錄。
   3、然后測試登陸:mysql -u test -p 如果出現問題Access denied for user 'test'@'localhost' (using password: YES),則是由於權限問題

給test授權,就可以了

    (2)給用戶授權

    GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 
flush privileges; 
 格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"; 

     (3)查找數據庫中所有的用戶:select * from mysql.user


    (4)授權test用戶擁有所有數據庫的某些權限:   

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "123456";

     //test用戶對所有數據庫都有select,delete,update,create,drop 權限。

  //@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)

//對localhost授權:加上一句grant all privileges on testDB.* to test@localhost identified by '123456';即可。

    (5)刪除用戶

     @>mysql -u root -p

     @>密碼

     mysql>delete from user Where User='test' and Host='localhost';

     mysql>flush privileges;

 mysql>drop database testDB; //刪除用戶的數據庫

刪除賬戶及權限:>drop user 用戶名@'%';

        >drop user 用戶名@ localhost; 

    (6).修改指定用戶密碼

    @>mysql -u root -p

    @>密碼

    mysql>update mysql.user set password=password('新密碼') where User="test" and Host="localhost";

    mysql>flush privileges;

    (7).列出所有數據庫

    mysql>show database;

    (8).切換數據庫

    mysql>use '數據庫名';

    (9).列出所有表

    mysql>show tables;

    (10).顯示數據表結構

    mysql>describe 表名;

    (11).刪除數據庫和數據表

    mysql>drop database 數據庫名;

    mysql>drop table 數據表名;
參考:http://blog.csdn.net/h1017597898/article/details/9815987


免責聲明!

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



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