我的 Ubuntu 笔记本电脑上运行着 MySQLdb。我已经创建了一个数据库。 我需要从我的 Raspberry pi 访问笔记本电脑上的这个数据库。
我已经在我的树莓派上安装了 PyMySQL。我还在我的笔记本电脑中配置了 mysqld.conf 文件,并注释掉了绑定(bind)地址行。
但每次我在我的 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")
我需要对配置进行更多更改吗?如果是的话,您能指导一下吗?
最佳答案
默认情况下,Ubuntu 上的 MySQL 服务器在本地界面上运行,这意味着不允许远程访问 MySQL 服务器。要启用到 MySQL 服务器的远程连接,您需要更改 MySQL 配置文件中的绑定(bind)地址的值。 打开/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 服务器。 systemctl 重新启动 mysql.service
现在Ubuntu Server将允许远程访问MySQL服务器,但您仍然需要配置MySQL用户以允许从任何主机访问。 例如,当您创建 MySQL 用户时,您应该允许来自任何主机的访问。
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
关于mysql - 从 Raspberry pi 连接到笔记本电脑上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42504894/