我试图将从一个树莓派读取的数据插入到另一个树莓派上的数据库中,我使用mysql作为数据库,我的代码是在“客户端”pi上用python编写的,这些操作都是在本地网络上完成的。
我做了所有的配置,以便作为"RaspberryPi“用户连接,我创建并授予了ip: 192.168.0.20上特定数据库和表的所有权限,这是客户端pi,我从mysql的根用户创建并授予了该用户,在此之前,我授予了所有权限,以防需要。
我的mysql服务器是192.168.0.14。当我运行我的python程序时,它显示这个错误:无法将记录插入HumiditySensor表2003: Can't connect to MySQL server on '192.168.0.14:3306‘(111连接被拒绝)
问题是,我在mysql.connector.connect()中使用了关于主机、数据库、用户和密码的所有正确信息。
我验证了服务器是否使用了正确的端口进行通信,端口是3306,这是我所期望的。
我在网上看到这个问题可能是由tcp/ip跳过引起的,我查看了我的my.cnf文件,我所拥有的只有:
客户端-服务器
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
其余的内容都是注释的。我看不到绑定地址,也看不到tcp/ip跳过,所以我不相信这是因为ip绑定或wtv
我还通过查看mysql.sock文件是否在/var/run/mysqld文件夹中,来查看mysql服务器是否正在运行。
我输入以下命令来查看授予权限是否对我的RaspberrPi用户有效: SELECT * from information_schema.user_privileges where grantee like "'RaspberryPi'%";
在主机raspberry pi上的mysql shell中,它在"IS_GRANTABLE“部分显示所有内容都是"YES”而不是"NO“,这意味着该用户拥有所有权限。
我已经试着解决这个问题好几天了,我真的希望有人能帮我解决这个问题,谢谢。
发布于 2020-02-24 06:06:32
谢谢你的回答!但是我找到了!如果有人遇到和我一样的错误,为了解决这个问题,你需要修改/etc/ mysql /mariadb.conf.d/50-server.cnf文件,因为今天当你安装mysql时,它会安装mariadb,我猜配置文件是不同的。然后,一旦你进入50-server.cnf,你只需要注释"bind-address = 127.0.0.1“,它就会监听其他it请求。
https://stackoverflow.com/questions/60359505
复制相似问题