python连接Docker部署的mysql容器,对mysql操作
上一篇博客写了关于docker中部署的mysql主从数据库,部署之后,最关键的是要应用到实际中python中连接远程docker容器中的MySQL数据库下面演示一下pymysql模块操作数据库# -*- coding: utf-8 -*-# @Time: 2019/3/29 19:20# @Author: cdimport pymysql# 打开数据库连接db ...
·
上一篇博客写了关于docker中部署的mysql主从数据库,部署之后,最关键的是要应用到实际中
- python中连接远程docker容器中的MySQL数据库
- 下面演示一下pymysql模块操作数据库
# -*- coding: utf-8 -*-
# @Time : 2019/3/29 19:20
# @Author : cd
import pymysql
# 打开数据库连接
db = pymysql.connect(host='服务器公网ip', port=容器映射到宿主机的端口, user='root', passwd='密码', db='数据库')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("CREATE TABLE test (id int PRIMARY KEY, name varchar(20));")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()
- 执行代码报错
- 报错原因,远程权限被拒绝
- 解决办法
- 登录容器内部mysql,给mysql数据库添加一个远程连接的用户
- 进入mysql容器
docker exec -it main_mysql /bin/bash
- 连接进入容器内部mysql
mysql -uroot -p密码
- 这里将root用户作为远程连接用户,这里也可以自定义其他用户, 任何远程主机都可以访问数据库
grant all privileges on *.* to 'root'@'%';
- 刷新权限
flush privileges;
- 之后再运行代码,就不会报错了
- 数据库查看
- 主MySQL服务器数据,表格已经创建成功
- 查看从MySQL数据库信息,从数据库信息自动添加成功
更多推荐
已为社区贡献1条内容
所有评论(0)