MySql8.x 連接遠程數據庫

上週,老大交給了我一個任務,做一個數據庫可視化界面。我在我自己的電腦上做好了這個小項目,用了一個Flask的web展示框架。然後老大讓我在小組電腦上把這個項目展示一下。不過在展示的時候遇到了一個數據庫的錯誤。

參考了一篇博客

https://blog.csdn.net/nghuyong/article/details/54638474

首先登錄自己本地的數據庫

然後

use mysql

這是已經配置成功的界面,剛開始 root 的host 應該是localhost

輸入以下更新命令

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

你就會發現root 用戶的 host 改爲 % 

接下來是最關鍵的一步。

授予遠程客戶訪問本地數據庫的權限

Google的資料大都是這樣

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

我也嘗試着輸入了,提示sql語法錯誤。

最後查了一下8.0版本的MySQL如何遠程連接。。正確語法應該是這樣

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

運行完畢,輸入更新命令

FLUSH PRIVILEGES

然後重啓MySQL的服務,在本地服務找到MySQL並重啓即可。

 

項目可以訪問我的數據庫了。

 # 1. 這些參數做私有化,就體現了封裝安全性的好處
    def __init__(self, host='本地電腦的ip',name='root',pwd='',port='3306',dbname='test',charset='utf8'):
        self.__host = host
        self.__name = name
        self.__pwd = pwd
        self.__port = port
        self.__dbname = dbname
        self.__charset = charset
        self.__conn = None
        self.__cursor = None
        print(host)
        pass

在本地的host本來是 localhost,

把小組電腦上的host改成本地電腦上的ip就可以訪問本地數據庫了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章