上周,老大交给了我一个任务,做一个数据库可视化界面。我在我自己的电脑上做好了这个小项目,用了一个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就可以访问本地数据库了。