Cetos7.4系統 環境設定
1
2
<code>yum </code><code>install</code> <code>cmake ncurses-devel gcc gcc-c++ openssl-devel</code>
<code>yum remove bison -y</code>
3
4
5
6
7
8
9
10
11
12
<code>cd</code> <code>/usr/local/src/</code>
<code>wget http:</code><code>//ftp</code><code>.gnu.org</code><code>/gnu/m4/m4-1</code><code>.4.18.</code><code>tar</code><code>.gz</code>
<code>tar</code> <code>-zxvf m4-1.4.18.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>m4-1.4.18</code>
<code>.</code><code>/configure</code> <code>&& </code><code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>wget http:</code><code>//ftp</code><code>.gnu.org</code><code>/gnu/bison/bison-2</code><code>.4.</code><code>tar</code><code>.gz</code>
<code>tar</code> <code>-zxvf bison-2.4.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>bison-2.4/</code>
<code>.</code><code>/configure</code>
<code>cd</code> <code>/usr/local/</code>
<code>wget https:</code><code>//github</code><code>.com</code><code>/mysql-inception/inception/archive/master</code><code>.zip</code>
<code>unzip master.zip</code>
<code>mv</code> <code>inception-master/ inception</code>
<code>mv</code> <code>master.zip inception.zip</code>
<code>mv</code> <code>inception.zip </code><code>/usr/local/src/</code>
<code>sh inception_build.sh builddir linux</code>
配置檔案
13
14
15
16
17
18
19
20
21
22
<code>vim inc.cnf</code>
<code>[inception]</code>
<code>general_log=1</code>
<code>general_log_file=inception.</code><code>log</code>
<code>port=6669</code>
<code>socket=/tmp/mysql.sock</code>
<code>character-set-client-handshake=0</code>
<code>character-set-server=utf8</code>
<code>inception_remote_system_password=root</code>
<code>inception_remote_system_user=123456</code>
<code>inception_remote_backup_port=3306</code>
<code>inception_remote_backup_host=127.0.0.1</code>
<code>inception_support_charset=utf8mb4</code>
<code>inception_enable_nullable=0</code>
<code>inception_check_primary_key=1</code>
<code>inception_check_column_comment=1</code>
<code>inception_check_table_comment=1</code>
<code>inception_osc_min_table_size=1</code>
<code>inception_osc_bin_dir=/data/temp</code>
<code>inception_osc_chunk_time=0.1</code>
<code>inception_enable_blob_type=1</code>
<code>inception_check_column_default_value=1</code>
啟動測試
<code>nohup</code> <code>/usr/local/inception/builddir/mysql/bin/Inception</code> <code>--defaults-</code><code>file</code><code>=inc.cnf ></code><code>/dev/null</code> <code>2>&1 &</code>
<code>mysql -uroot -h127.0.0.1 -P6669</code>
<code>inception get variables;</code>
安裝測試完成。
python3
由于python3使用的pymysql子產品裡并未相容inception傳回的server資訊,是以需要編輯/path/to/python3/lib/python3.4/site-packages/pymysql/connections.py:
在if int(self.server_version.split('.', 1)[0]) >= 5: 這一行之前加上以下這一句并儲存,記得别用tab鍵用4個空格縮進:
self.server_version = '5.6.24-72.2-log'
<a href="https://github.com/jly8866/archer/raw/master/screenshots/pymysql.png"></a>
23
24
25
26
27
28
<code>#/usr/bin/python</code>
<code>#_*_ coding:utf-8 _*_</code>
<code>import</code> <code>pymysql.cursors</code>
<code>sql='/*--user=root;--password=123456;--host=192.168.10.81;--execute=1;--port=3306;*/\</code>
<code>inception_magic_start;\</code>
<code>use hequan;\</code>
<code>CREATE TABLE adaptive_office(</code><code>id</code> <code>int);\</code>
<code>inception_magic_commit;'</code>
<code>try:</code>
<code> </code><code>conn=pymysql.connect(host=</code><code>'127.0.0.1'</code><code>,user=</code><code>''</code><code>,</code><code>passwd</code><code>=</code><code>''</code><code>,db=</code><code>''</code><code>,port=6669)</code>
<code> </code><code>cursor=conn.cursor()</code>
<code> </code><code>cursor.execute(sql)</code>
<code> </code><code>results = cursor.fetchall()</code>
<code> </code><code>column_name_max_size=max(len(i[0]) </code><code>for</code> <code>i </code><code>in</code> <code>cursor.description)</code>
<code> </code><code>row_num=0</code>
<code> </code><code>for</code> <code>result </code><code>in</code> <code>results:</code>
<code> </code><code>row_num=row_num+1</code>
<code> </code><code>print(</code><code>'*'</code><code>.ljust(27,</code><code>'*'</code><code>),row_num,</code><code>'.row'</code><code>, </code><code>'*'</code><code>.ljust(27,</code><code>'*'</code><code>))</code>
<code> </code><code>row = map(lambda x, y: (x,y), (i[0] </code><code>for</code> <code>i </code><code>in</code> <code>cursor.description), result)</code>
<code> </code><code>for</code> <code>each_column </code><code>in</code> <code>row:</code>
<code> </code><code>if</code> <code>each_column[0] != </code><code>'errormessage'</code><code>:</code>
<code> </code><code>print(each_column[0].rjust(column_name_max_size),</code><code>":"</code><code>,each_column[1])</code>
<code> </code><code>else</code><code>: </code>
<code> </code><code>print(each_column[0].rjust(column_name_max_size),</code><code>':'</code><code>,each_column[1].replace(</code><code>'\n'</code><code>,</code><code>'\n'</code><code>.ljust(column_name_max_size+4)))</code>
<code> </code><code>cursor.close()</code>
<code> </code><code>conn.close()</code>
<code>except pymysql.Error as e:</code>
<code> </code><code>print(</code><code>"Mysql Error %d: %s"</code> <code>% (e.args[0], e.args[1]))</code>
*************************** 1 .row ***************************
ID : 1
stage : CHECKED
errlevel : 0
stagestatus : Audit completed
errormessage : None
SQL : use hequan
Affected_rows : 0
sequence : '0_0_0'
backup_dbname : None
execute_time : 0
sqlsha1 :
*************************** 2 .row ***************************
ID : 2
errlevel : 2
errormessage : Table 'adaptive_office' already exists.
Set engine to innodb for table 'adaptive_office'.
Set charset to one of 'utf8mb4' for table 'adaptive_office'.
Set comments for table 'adaptive_office'.
Column 'id' in table 'adaptive_office' have no comments.
Column 'id' in table 'adaptive_office' is not allowed to been nullable.
Set Default value for column 'id' in table 'adaptive_office'
Set a primary key for table 'adaptive_office'.
SQL : CREATE TABLE adaptive_office(id int)
sequence : '0_0_1'
backup_dbname : 192_168_10_81_3306_hequan
本文轉自 295631788 51CTO部落格,原文連結:http://blog.51cto.com/hequan/2052602,如需轉載請自行聯系原作者