Python程序连接本地MySQL后分享他人,对方能否访问该数据库?
问题解答
1. 他人运行代码无法访问你的数据库,会直接报错
你代码里的host='localhost',对运行代码的人来说,localhost指的是他自己的本地机器,不是你的服务器。所以对方运行时,会尝试连接他自己电脑上的MySQL,如果他本地没装MySQL、没创建accountsdatabase库,或者账号密码不匹配,都会直接抛出连接失败的错误。
就算你把host改成你的服务器公网IP/域名,对方也不一定能连上,还需要满足这些前提:
- 你的MySQL服务开启了远程连接权限(默认是禁止的)
- 服务器防火墙开放了3306端口
- 你给
root账号授权了远程访问的权限(默认root仅允许本地登录)
2. 你的代码确实仅能连接本地的accountsdatabase数据库
代码里明确指定了host='localhost'(指向运行代码的本机)和database='accountsdatabase',所以这段代码只能连接运行它的机器上,名为accountsdatabase的MySQL数据库,没法连接其他机器的数据库,也没法连接本地其他名称的数据库(除非修改database参数)。
你的代码:
import mysql.connector AccountsDatabase = mysql.connector.connect( host='localhost', user='root', password='test', port='3306', database='accountsdatabase')
内容的提问来源于stack exchange,提问作者Phantom
相关产品推荐
相关产品推荐

