前言
Inception是集审核SQL、执行SQL、回滚于一体的一个自动化数据库运维系统
环境:
系统: centos 6.8
Ip: 192.168.137.38
Python:Python2.7
部署步骤:
# cd /usr/src/
#wget https://github.com/mysql-inception/inception/archive/master.zip
#unzip master.zip
#yum -y install gcc gcc-c++ cmake bison openssl-devel ncurses-devel mysql-devel
#cd inception-master
#./inception_build.sh debug [Xcode] #[Xcode] 指定平台 默认linux
#echo $? #返回0,则为成功
#编辑配置文件,如果没有就创建
#vim /etc/inc.cnf
[inception]
general_log=1
general_log_file=inc.log
port=6669
socket=/tmp/inc.socket
character-set-client-handshake=0
character-set-server=utf8
inception_remote_system_password=admin
inception_remote_system_user=myadmin
inception_remote_backup_port=3308
inception_remote_backup_host=127.0.0.1
inception_support_charset=utf8
inception_enable_nullable=0
inception_check_primary_key=1
inception_check_column_comment=1
inception_check_table_comment=1
inception_osc_min_table_size=1
inception_osc_bin_dir=/usr/bin
inception_osc_chunk_time=0.1
inception_ddl_support=1
inception_enable_blob_type=1
inception_check_column_default_value=1
#先按esc,然后同时按shift跟:输入wq!保存退出
#下面的要根据自己解压压缩包文件目录进行运行,加载文件
#/usr/src/inception-master/debug/mysql/bin/Inception --defaults-file=/etc/inc.cnf &
#登录mysql
#mysql -uroot -h227.0.0.1 -P 6669
#在mysql里面输入以下命令
#inception get variables;
#升级Python为2.7
#cd /usr/src/
#wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
#tar -xf Python-2.7.3.tgz
#cd Python-2.7.3
#./configure --prefix=/usr/local/python27
#echo $?
#make && make install
#echo $?
#mv /usr/bin/python /usr/bin/python26
#ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
#vim /usr/bin/yum
#把#!/usr/bin/python改为#!/usr/bin/python26
#输入Python看是不是2.7 ,然后exit()退出,输入yum list,看看yum源是否正常
#cd /usr/src/
#wget https://bootstrap.pypa.io/ez_setup.py --no-check-certificate
#python ez_setup.py
#[root@localhost ~]# find / -name easy_install-2.7
/usr/local/python27/bin/easy_install-2.7
#cd /usr/local/python27/bin/
#./easy_install-2.7 pip
#echo $?
#[root@localhost bin]# find / -name pip2.7
/usr/local/python27/bin/pip2.7
#./pip2.7 install flask_wtf
#./pip2.7 install flask-script
#./pip2.7 install flask-debugtoolbar
#./pip2.7 install MySQL-python
#cd /usr/src/
#yum install git
#git clone https://github.com/dbalihui/inception_web.git
#cd inception_web/app/
#vim inception.py #(注意:红色部分为自己定义部分)
coding=utf-8
import MySQLdb
def table_structure(mysql_structure):
sql1='\
inception_magic_start;\
use test_3;'
sql2='inception_magic_commit;'
sql = sql1 + mysql_structure + sql2
try:
conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='root',db='test_3',port=6669,use_unicode=True, charset="utf8")
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,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
return result[1][4].split("\n")
#cd .. #返回上一层
# ./run.py runserver --host 192.168.137.38 & #自己的服务器ip
#vim /etc/sysconfig/iptables #开放3306,5000端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT
#service iptables restart