windows下本地或者遠程連接MYSQL數據庫,報1130錯誤的解決方法


重裝MySQL,由於不知道重裝之前的root密碼,使用重裝之后的密碼連接Mysql數據,總報 ERROR 1130: host 'localhost' not allowed to connect to this MySQLserver,不能連接數據庫,猜測用戶權限和密碼的問題。

1、用root用戶登錄mysql數據庫

(1)停止MySQL服務,執行net stop mysql;

(2)在mysql的安裝路徑下找到配置文件my.ini,

   找到[mysqld]
   輸入:skip-grant-tables,保存

(3)重啟mysql服務,net start mysql;

(4)執行mysql -uroot -p,回車,再回車,即可進入mysql數據庫;

 

2、在本機登入mysql后,更改 “mysql” 數據庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。

mysql>use mysql;

mysql>select host,user,password from user;

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

mysql>flush privileges;    #刷新用戶權限表

mysql>select host,user,password  from user where user='root';

 

3、插入本地登錄的用戶

mysql>insert into user values('localhost', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y','','','','',0,0,0,0,'','');

此時本地連接的用戶localhost密碼為空

 

4、修改root密碼

(1)用set password 方式修改root密碼遇到錯誤ERROR 1290 (HY000)

mysql> set password for root@'localhost'=PASSWORD('12345');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot exe
cute this statement

注意:以skip-grant-tables方式啟動mysql后,不能用直接用set password的方式修改root密碼,須注釋skip-grant-tables, 然后重啟服務,連接數據庫修改密碼

(2)用update方式修改root密碼正常

mysql> update user set password=password("123") where user="root";

mysql>flush privileges;

 (3)不連接數據庫,直接在cmd下修改密碼

mysqladmin -uroot -p舊密碼 password 新密碼,此種方式修改密碼也不能在以“skip-grant-tables“方式啟動mysql后進行

如:mysqladmin -uroot -p123456 password 1234

5、退出MySQL,在配置文件中注釋:skip-grant-tables,重啟mysql服務

6、本地重新連接mysql數據庫,輸入修改后的密碼,連接成功

 


免責聲明!

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



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