python连接mysql

binlog2sql之MySQL数据闪回实践

吃可爱长大的小学妹 提交于 2020-03-24 06:41:01
DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。现在有不少好用而且效率又高的开源闪回工具如binlog2sql、mysqlbinlog_flashback,这些工具在工作中给DBA减轻了不少痛苦,以下针对binlog2sql的使用进行实践演练。 binlog2sql的用途: 数据快速回滚(闪回) 主从切换后数据不一致的修复 从binlog生成标准SQL,带来的衍生功能 安装binlog2sql前先安装git和pip: yum -y install epel-release yum -y install git python-pip 安装binlog2sql: git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install -r requirements.txt MySQL的配置要开启以下选项: [mysqld] server_id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog

Python连接MYSQL数据库类

隐身守侯 提交于 2020-03-23 12:23:47
Python连接MYSQL数据库类 DBHelper.py: import pymysql import logging import sys from mySQL.db_config import db_config # 加入日志 # 获取logger实例 logger = logging.getLogger("baseSpider") # 指定输出格式 formatter = logging.Formatter('%(asctime)s\ %(levelname)-8s:%(message)s') # 文件日志 file_handler = logging.FileHandler("operation_database.log") file_handler.setFormatter(formatter) # 控制台日志 console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) # 为logge添加具体的日志处理器 logger.addHandler(file_handler) logger.addHandler(console_handler) logger.setLevel(logging.INFO) class DBHelper(): # 构造函数

Python操作Mysql中文乱码问题

孤者浪人 提交于 2020-03-22 07:32:53
     Python操作MySQL需要安装Python-MySQL 可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用 用下面几个措施,保证MySQL的输出没有乱麻: 1 Python 文件设置编码 utf-8 (文件前面加上 #encoding=utf-8) 2 MySQL 数据库 charset=utf-8 3 Python 连接 MySQL 是加上参数 charset=utf8 4 设置 Python 的默认编码为 utf-8 (sys.setdefaultencoding(utf-8) #encoding=utf-8 import sys import MySQLdb reload(sys) sys.setdefaultencoding('utf-8') db=MySQLdb.connect(user='root',charset='utf8') cur=db.cursor() cur.execute('use mydb') cur.execute('select * from mytb limit 100') f=file("/home/user/work/tem.txt",'w') for i in cur.fetchall(): f.write(str(i)) f.write("

mysql学习(第一天)

你离开我真会死。 提交于 2020-03-20 10:55:14
个人申明:博客内容全部来自我在狸猫技术窝公众号学习平台的学习笔记 1.mysql驱动是什么? 大家都知道,我们如果要在Java系统中去访问一个MySQL数据库,必须得在系统的依赖中加入一个MySQL驱动,有了这个MySQL驱动才能跟MySQL数据库建立连接,然后执行各种各样的SQL语句。 我们先来看下面的一段maven配置,这段maven配置中就引入了一个MySQL驱动。这里的mysql-connector-java就是面向Java语言的MySQL驱动。 大家都知道,如果我们要访问数据库,必须得跟数据库建立一个网络连接,那么这个连接由谁来建立呢? 其实答案就是这个 MySQL驱动,他会在底层跟数据库建立网络连接,有网络连接,接着才能去发送请求给数据库服务器 !我们看下图。 然后当我们跟数据库之间有了网络连接之后,我们的Java代码才能基于这个连接去执行各种各样的增删改查SQL语句 来看下图 所以对于Java语言开发的系统,MySQL会提供Java版本的MySQL驱动,对于PHP、Perl、.NET、Python、Ruby等各种常见的编程语言,MySQL都会提供对应语言的MySQL驱动,让各种语言编写的系统通过MySQL驱动去访问数据库。 2、数据库连接池到底是用来干什么的? 接着我们来思考一个问题,一个Java系统难道只会跟数据库建立一个连接吗? 这个肯定是不行的

python 操作数据库

删除回忆录丶 提交于 2020-03-17 11:02:22
Python操作数据库规范 pymysql + configparser 简单实例 本地mysql种的数据: 和项目脚本同级目录种存放mysql的配置文件:mysql.ini [MYSQL] HOST = 127.0.0.1 PORT = 3306 USER = root PASSWORD = 123 DATABASE = s2 CHARSET = utf8 通过脚本pyDemo.py来访问数据库 # -*- coding:utf-8 -*- import os import pymysql import configparser ​ # 获取配置 current_path = os.path.abspath(".") config = configparser.ConfigParser() config.read(os.path.join(current_path, "mysql.ini")) ​ mysql_conf = dict( host=config["MYSQL"]["HOST"], port=int(config["MYSQL"]["PORT"]), # 注意这里得把port转换成int! user=config["MYSQL"]["USER"], password=config["MYSQL"]["PASSWORD"], database=config["MYSQL

2018年5月5日笔记

女生的网名这么多〃 提交于 2020-03-17 08:55:09
Python DB-API Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口 Python DB-API 使用流程: 引入API模块 获取与数据库的连接 执行SQL语句和存储过程 关闭数据库连接 MySQLdb (python2) MySQLdb是用于python连接MySQL数据库接口的,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。 安装MySQLdb Windows 安装MySQLdb,请参考 http://sourceforge.net/projects/mysql-python Linux安装MytSQLdb :请参考 https://pypi.python.org/pypi/MySQL-python ) 从以上链接可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。 如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令: 1 $ gunzip MySQL-python-1.2.2.tar.gz 2 $ tar -xvf MySQL-python-1.2.2.tar 3 $ cd MySQL-python-1.2.2 4 $ python

python-操作MySQL数据库

帅比萌擦擦* 提交于 2020-03-16 18:36:55
1、安装MySQLdb? 为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行: #!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb 如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块: Traceback (most recent call last): File "test.py", line 3, in <module> import MySQLdb ImportError: No module named MySQLdb 安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python ,(Linux平台可以访问: https://pypi.python.org/pypi/MySQL-python )从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。 如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令: $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $

Python3 MySQL 数据库连接 -PyMySQL

我与影子孤独终老i 提交于 2020-03-16 18:36:32
Python 3 操作mysql http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 如果你的系统不支持 pip 命令,可以使用以下方式安装: 1、使用 git 命令下载安装包安装(你也可以手动下载): $ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install 2、如果需要制定版本号,可以使用 curl 命令来安装: $

Python学习 Day16 Python3 MySQL 数据库

▼魔方 西西 提交于 2020-03-16 18:36:15
Python3 MySQL 数据库 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 如果你的系统不支持 pip 命令,可以使用以下方式安装: 1、使用 git 命令下载安装包安装(你也可以手动下载): $ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install 2、如果需要制定版本号,可以使用 curl 命令来安装: $ # X.X 为 PyMySQL 的版本号 $ curl -L https://github.com/PyMySQL/PyMySQL/tarball

Python3 MySQL 数据库连接

江枫思渺然 提交于 2020-03-16 18:35:51
PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: pip install PyMySQ 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。 在你的机子上已经安装了 Python MySQLdb 模块。 实例: 以下实例链接Mysql的TESTDB数据库: #!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute(