我在我的Ubuntu笔记本电脑上运行了一个MySQLdb。我创建了一个数据库。 我需要从我的Raspberry pi访问我的笔记本电脑上的这个数据库。
我已经在我的覆盆子pi上安装了PyMySQL。我还在笔记本电脑中配置了mysqld.conf文件并注释掉了绑定地址行。
但是eherytime我在我的RPi上使用以下命令
conn = pymysql.connect(host='192.168.10.7', port='3306', user='root', passwd='password', db='temps')
192.168.10.7是我的笔记本电脑的IP地址。可以从我的RPi中ping到该IP地址。
但我收到错误
pymysql.err.InternalError: (1130, "Host '192.168.10.7' is not allowed to connect to this MSQL server")
我是否需要对配置进行更改?如果是的话,你能指导我吗?
答案 0 :(得分:0)
默认情况下,Ubuntu上的MySQL Server在本地接口上运行,这意味着不允许远程访问MySQL服务器。要启用与MySQL服务器的远程连接,您需要更改MySQL配置文件中绑定地址的值。 打开/etc/mysql/mysql.conf.d/mysqld.cnf文件(Ubuntu 14.04及更早版本中的/etc/mysql/my.cnf)。 在[mysqld]下找到该行,
bind-address = 127.0.0.1
并将其更改为
bind-address = 0.0.0.0
然后,重新启动Ubuntu MysQL Server。 systemctl重启mysql.service
现在Ubuntu Server将允许远程访问MySQL服务器,但您仍然需要配置MySQL用户以允许从任何主机进行访问。 例如,当您创建MySQL用户时,您应该允许从任何主机进行访问。
CREATE USER 'username'@'%' IDENTIFIED BY 'password';