mysql - 从 Raspberry pi 连接到笔记本电脑上的 MySQL

标签 mysql python-3.x raspberry-pi

我的 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/

相关文章:

mysql - SQL:如何使用 2 个不同的条件进行查询?

PHP mysql遗漏行

python - 生成具有浮点值的列表

tcp - "iot_tls_connect L#143 TCP Connection Error"使用 Raspberry Pi 的基本 AWS 示例

sql - MySQL日期查询问题

mysql - 为什么 mySQL 不允许我设置 return=1?

python-3.x - 运行时错误 : The size of tensor a (133) must match the size of tensor b (10) at non-singleton dimension 1

python - 与多个字典中的给定键对应的值集的交集

c++ - 如果没有连接 HDMI 设备,没有 X 的 SDL2 显示 'Segmentation fault'

python - Raspberry Pi 不会在启动时运行脚本