上週,老大交給了我一個任務,做一個數據庫可視化界面。我在我自己的電腦上做好了這個小項目,用了一個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就可以訪問本地數據庫了。