mysql ERROR 1130 問題解決方案

2021-07-24 17:55:56 字數 1898 閱讀 7751

當連線mysql資料庫的時候,出現error 1130 (hy000): host 『***x』 is not allowed to connect to this mysql server的問題。本地localhost也不行,重新安裝mysql資料庫又怕原來的資料庫無法還原。

出現這種問題可能是非法關機、刪除root使用者等導致的,mysql資料庫user表中沒有root使用者,如果localhost也無法登陸,則需要在my.ini最後加上skip-grant-tables,這樣就不需要密碼登入,登陸後通過以下sql語句建立root使用者(我用的是5.1版本,不同版本可能sql語句不一樣)

insert

into

`user`

values ('localhost', 'root', 'your password', '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');

成功後,在my.ini刪除skip-grant-tables,現在就可以使用在本地使用root賬戶密碼登入了。

記住在安裝了mysql的資料庫中,不要非法關機,強制斷電,不然會出現這樣的問題。

本地出現了error 1130,那遠端連線也一定會出現該問題,解決了本地連線問題,卻不一定解決遠端連線出現error 1130問題。

解決該問題有以下兩個方法

1、改表法

可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 「mysql」 資料庫裡的 「user」 表裡的 「host」 項,從」localhost」改稱」%」

mysql -u root -pvmware

mysql>use mysql;

mysql>update user set host =

'%'where user =

'root';

mysql>flush privileges;

mysql>

select host, user from user

2、授權法

例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。

grant

allprivileges

on *.* to

'myuser'@'%' identified by

'mypassword'

with

grant

option;

如果你想允許使用者myuser從ip為192.168.1.3的主機連線到mysql伺服器,並使用mypassword作為密碼

grant

allprivileges

on *.* to

'myuser'@'192.168.1.3' identified by

'mypassword'

with

grant

option;

有時候必須重新安裝mysql資料庫,但是總是安裝不成功,這是因為被以前安裝mysql檔案影響了。可通過以下兩步徹底刪除mysql遺留檔案

1、通過查詢登錄檔 regedit,全文搜尋mysql並刪除。

2、刪除mysql的資料,一般在c:\programdata下mysql目錄,(建議刪除前對該資料夾進行備份,以便後續資料還原用)。

Django migrate報錯問題解決方案

python3 manage.py makemigrations 生成資料庫遷移檔案 python3 manage.py migrate 遷移資料庫 簡簡單單兩條命令就完成了django的資料庫遷移 但是今天一天的時間都耽誤在這了,一點都不誇張的那種,早上去公司討論需求之後,研究了一下需要更改一下資...

vue axios post 404 問題解決方法

1.在main.js 入口檔案配置 172.20.10.7是我要掉的介面電腦的ip位址 import axios from axios axios.defaults.baseurl 設定乙個類似base url的請求路徑 global.axios axios 設定乙個全域性axios便於呼叫2.然後...

ubuntu mysql遠端連線問題解決方法

今天在配置opennebula 3.8的時候,當執行one start啟動時,報不能連線資料庫的錯誤,但是在shell下輸入mysql uroot p是可以登入的,所以問題應該是mysql不允許root使用者遠端 登入的問題,於是通過輸入下面命令 grant all privileges on to...