MySQL 遠端登陸踩坑記

HuDu發表於2020-07-24

MySQL 遠端登陸

這裡以 windwos 平臺為例。
當你沒有做任何 mysql 資料庫的配置,在另一臺機器上遠端訪問 mysql 時候會報錯:

1130 - Host 'xxxx' is not allowed to connect to this MySQL server

此時你會想到會不會是沒有給使用者新增遠端訪問的許可權,於是連線遠端機器,進入mysql,使用select user,host from mysql.user='root',檢視發現,果然 root 使用者只有localhost登陸的許可權。
於是使用grant all privileges on *.* to root@'localhost' identified by '123456';
然後使用flush privileges;重新整理許可權。

退出exit

使用net stop mysql停止mysql服務
使用net start mysql啟動mysql服務
然後再次登陸
使用select user,host from mysql.user='root'

MySQL 遠端登陸踩坑記
發現有遠端登陸的許可權了

然後回到遠端的主機
使用navicate或者直接遠端登陸,發現還是報錯,無法登陸。

然後在網上找了n多的解決辦法,還是不行。

最後再次使用net stop mysql之後,進入程式管理,發現mysql服務還是在啟動的狀態。。。

MySQL 遠端登陸踩坑記

於是手動停止了關於mysql的所有的程式。

之後再次啟動mysql,可以在控制皮膚—》管理工具—》服務下啟動,或者直接使用net start mysql啟動。

此時遠端登陸mysql發現可以了,主要還是沒有真正的重啟mysql伺服器。

免密登陸

  1. 停止伺服器

net stop mysql
在mysql.ini檔案中新增

[client]
host=localhost
user="root" #如是普通使用者輸入使用者名稱即可
password="******" #這裡填入你的mysql root(普通使用者)使用者對應的密碼
儲存退出後 重新啟動MySQL資料庫即可
  1. 停止伺服器後
    還是在剛剛的檔案中新增
    skip-grant-tables
    重啟之後,直接mysql -uroot -p回車之後就可以登陸了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章