#!/usr/bin/python #-*- coding:utf-8 -*- import MySQLdb sql='''/*--user=数据库账号;--password=相应密码;--host=XXX.XXX.XXX.9;--execute=1;--port=3306;*/\ inception_magic_start;\ use dbtest;\ CREATE TABLE table_test(id int comment 'test' primary key) engine=innodb DEFAULT CHARSET=utf8mb4 comment '测试';\ inception_magic_commit;''' try: conn=MySQLdb.connect(host='XXX.XXX.XXX.8',user='',passwd='',db='',port=6669) cur=conn.cursor() ret=cur.execute(sql) result=cur.fetchall() num_fields = len(cur.description) field_names = [i[0] for i in cur.description] print field_names for row in result: print row[0], "|",row[1],"|",row[2],"|",row[3],"|",row[4],"|",row[5],"|",row[6],"|",row[7],"|",row[8],"|",row[9],"|",row[10] cur.close() conn.close() except MySQLdb.Error as e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])
执行结果如下:
去备份库上查看,备份情况如下:
3.6 备份所需的条件如果在测试的过程中,发现没有实现备份,可以从以下几个方面去检查
(1)线上服务器必须要打开Binlog,在启动时需要设置参数log_bin、log_bin_index等关于Binlog的参数。不然不会备份及生成回滚语句,因为Inception的生成回滚语句是通过解析Binlog来做的。
(2)参数必须binlog_format必须设置为mixed或者row模式。如果是statement模式,则不做备份及回滚语句的生成。可通过语句set global binlog_format=ROW来设置。
(3)将binlog_row_image设置为full ,该配置项默认为 full ,但是如果为了减少binlog的size改成minimal的话,则Inception无法生成回滚语句。
(4)参数server_id必须设置为非0非1,通过语句set global server_id=server_id;来设置,不然在备份时报错。因为在获取Binlog时,需要通过server_id在主库上注册Inception。
(5)被修改表需要有主键:执行时,被影响的表如果没有主键的话,就不会做备份了。这样更简单并且备份时间及数据都会少一点,不然回滚语句的where条件就会将所有列写进去,这样会影响性能且没有太大意义,所以在where条件中,只需要主键即可。
(6)备份相关的四个参数需要设置好,并且对应的用户在备份数据库实例中有足够的权限。
3.7 在进行验证时可能遇到的错误。1执行 Python验证,报错信息。
ImportError: No module named MySQLdb
解决方案:
yum install MySQL-python
2.有时候执行Python脚本报错:invalid source infomation。
这时候需要去检查Inception连接数据库的参数配置。
4.Inception常见关于审核规范的变量参数 5.Inception统计功能其数据存储在备份实例上的inception数据库上statistic表中,此库自动生成。
主要字段的说明如下:
列名 字段描述deleting 包括普通的删除操作及多表删除操作。
inserting 包括单行插入���多行插入及查询插入。
updating 包括普通单表更新及多表的更新。
renaming 指的是ALTER table语句中的rename操作。
createindex 指的是ALTER table语句中的add index操作。
dropindex 指的是ALTER table语句中的drop index操作。
alteroption 指的是ALTER table语句中的修改表属性的操作,比如存储引擎、自增值及字符集中操作。
alterconvert 指的是ALTER table语句中修改表字符集的操作。
-----主要内容参考梳理于网络知识和《MySQL运维内参》,此短文仅为学习笔记,在此原创作者感谢!
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx