简单的mysql客户端api
pysolmysql的Python项目详细描述
pysolmysql
欢迎使用pysol
版权所有(C)2013/2017 Laurent Labatut/Laurent Champagnac
pysolmysql是一组简单的mysql客户端api
它们是基于gevent的。 他们依赖pymysql。
用法
d_conf = {
"host": "localhost",
"port": 3306,
"database": None,
"user": "root",
"password": "root",
"autocommit": True,
}
ar = MysqlApi.exec_n(d_conf, "select user, host from mysql.user;")
for d_record in ar:
logger.info("user=%s, host=%s", d_record["user"], d_record["host"])
游泳池
现在由一个基本的池实现支持,它支持底层的后端集群(例如mariadb galera)
这个基本的池实现是分叉的,并且改编自:
- https://github.com/laurentL/django-mysql-geventpool-27
- https://github.com/shunsukeaihara/django-mysql-geventpool
池最大大小
池最大大小(默认为10)可以使用指定
d_conf = {
"pool_max_size": 10,
...
}
可能的向后兼容性问题:
- 如果池最大化,则会引发异常
多个主机
可以以主动/主动方式寻址多个主机。
可以使用以下命令指定多个主机:
- “主机”列表(首选)
d_conf = {
"hosts": ["localhost", "127.0.0.1"],
...
}
- “主机”逗号分隔列表
d_conf = {
"host": "localhost,127.0.0.1",
...
}
- “主机”单条输入(向后兼容模式)
d_conf = {
"host": "localhost",
...
}
源代码
- 我们符合PEP8(尽可能遵守,但有一些例外)
- 我们使用360个字符的右边距(请不要告诉我80个字符)
- 所有unittest文件必须以
test_
或Test
开头,应该实现setup和teardown方法 - 所有测试必须适应任何运行目录
- 整个项目由gevent(http://www.gevent.org/)支持
- 我们使用docstring(:return,:rtype,:param,:type etc…),它们是必需的
- 我们使用pycharm“noinspection”,请随意使用它们
要求
- Debian 8 Jessie或更高版本,x64,Python 2.7
单元测试
要运行单元测试,您需要:
- MySQL已安装并正在运行,具有根/根凭据
许可证
此程序是免费软件;您可以重新分发它和/或 根据GNU通用公共许可条款修改 由自由软件基金会出版;或者是第2版 或(由您选择)任何更高版本。
这个程序的发布是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU通用公共许可证了解更多详细信息。
你应该收到GNU通用公共许可证的副本 与此程序一起;如果不是,则写入自由软件 美国马萨诸塞州波士顿市富兰克林街51号基金会,邮编:02110-1301