怎么从docker 内部去连接host 上的mysql

一般来说数据最好放在一个公共的地方,这样在多个docker 可以共享这些数据. 这篇文章就是讲怎么从docker 内部去连接host上的 mysql 数据库. 因为我的host 有public ip, 所以没有什么特别的东西,直接连接就OK了. 如果是连接内网ip 可能需要一些额外配置,具体没有试过.

 

1. 先选一个 python 连接mysql 的module, 考虑到在 怎样远程访问 MySQL 里讲到的加密方式不匹配造成的连接不了的问题,就选取了mysql 官方出品的 Connector/Python. 在Docker内部安装这个包.

pip install mysql-connector-python

 

2. 尝试连接, ok. [1]

 

#!/usr/bin/env python
# coding=utf-8

import mysql.connector

def connectdb():
    print('连接到mysql服务器...')
    # 打开数据库连接
    # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student
    db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True)
    print('连接上了!')
    return db

 

 

Ref:

[1] Python操作MySQL数据库的三种方法

 

posted @ 2018-08-21 14:18  mashuai_191  阅读(2187)  评论(0编辑  收藏  举报