日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing

發(fā)布時(shí)間:2023/12/1 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Inception

1. Inceptionj簡(jiǎn)介

Inception是一款針對(duì)MySQL的SQL語(yǔ)句審核自動(dòng)化運(yùn)維工具。使用Inception,將會(huì)給DBA帶來(lái)更大的便利性,將DBA從繁冗的工作中解放出來(lái),做更多的自動(dòng)化工作,或者從架構(gòu)方面研究如何更大程度地保證數(shù)據(jù)庫(kù)的高可用等。

2. Inception安裝

2.1 下載和編譯

獲取Inception源代碼:

git clone https://github.com/mysql-inception/inception.git

依賴包安裝

編譯Inception過(guò)程中依賴一些包才可以成功,依賴的包有如下5個(gè):

bison:用來(lái)編譯語(yǔ)法文件(.yy)。yum收錄的是3.0.4,源碼編譯2.5,官方推薦2.6之前的,所以采用源碼編譯。

#wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.bz2

# tar xf bison-2.5.tar.bz2

# cd bison-2.5# ./configure && make && make installcmake:版本最好用2.8.x

#yum -y installcmake

ncurses安裝

#yum -y install ncurses-devel

安裝g++#yum -y install gcc gcc-c++安裝openssl

#yum -y installopenssl-devel

編譯Inception

# cd /opt

#mkdir -p /inception/{data,logs}

#unzip inception-master.zip -d /inception

# cd/inception/inception-master

# cmake-DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/inception \-DMYSQL_DATADIR=/inception/data \-DWITH_SSL=bundled \-DCMAKE_BUILD_TYPE=RELEASE \-DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Wno-unused-parameter -Woverloaded-virtual"\-DMY_MAINTAINER_C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement"#make && make install

2.2 啟動(dòng)配置

拷貝啟動(dòng)文件

# cp /inception/inception-master/sql/Inception /usr/local/bin/#cp /inception/inception-master/sql/gen_lex_hash /usr/local/bin/

配置參數(shù)文件/etc/inc.cnf

# vi /etc/inc.cnf

[inception]

general_log=1general_log_file=inception.log

port=6669socket=/tmp/inc.socket

character-set-client-handshake=0character-set-server=utf8

inception_remote_system_password=mysql

inception_remote_system_user=wanbin

inception_remote_backup_port=3307inception_remote_backup_host=127.0.0.1inception_support_charset=utf8mb4

inception_enable_nullable=1inception_check_primary_key=1inception_check_column_comment=0inception_check_table_comment=1inception_check_column_default_value=0inception_max_char_length=30inception_osc_min_table_size=1inception_osc_bin_dir=/usr/local/toolkit/bin

inception_osc_chunk_time=0.1inception_enable_blob_type=1

詳細(xì)參數(shù)介紹

port=6669:Inception的服務(wù)端口

socket=/tmp/inc.socket:Inception的套接字文件存放位置

character-set-server=utf8:mysql原生參數(shù)

#Inception 審核規(guī)則

inception_check_insert_field:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在插入語(yǔ)句中,

用來(lái)控制是否指定插入列列表,如果沒(méi)有指定,并且參數(shù)值為ON,則會(huì)報(bào)錯(cuò)。

inception_check_dml_where:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在審核DML語(yǔ)句時(shí),

如果發(fā)現(xiàn)沒(méi)有WHERE條件,并且此參數(shù)設(shè)置為ON,就會(huì)報(bào)錯(cuò),否則被忽略

inception_check_dml_limit:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能說(shuō)明是在DML語(yǔ)句中,如果使用了LIMIT表達(dá)式,

并且此參數(shù)設(shè)置為ON,就會(huì)報(bào)錯(cuò)。這一般用來(lái)防止STATEMENT語(yǔ)句主從復(fù)制時(shí)導(dǎo)致主從不一致的問(wèn)題。

inception_check_dml_orderby:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在DML語(yǔ)句中,如果使用了OrderBy表達(dá)式,

并且此參數(shù)設(shè)置為ON,就會(huì)報(bào)錯(cuò)。這一般用來(lái)防止STATEMENT語(yǔ)句主從復(fù)制時(shí)導(dǎo)致主從不一致的問(wèn)題。

inception_enable_select_star:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在遇到查詢語(yǔ)句為“select*from”,

并且此參數(shù)設(shè)置為ON時(shí),不會(huì)報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_enable_orderby_rand:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是語(yǔ)句中出現(xiàn)orderbyrand()時(shí),

用來(lái)控制是否報(bào)錯(cuò),設(shè)置為ON表示不報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_enable_nullable:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在創(chuàng)建或者新增列時(shí),如果列為NULL,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,表示不報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_enable_foreign_key:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在創(chuàng)建表或增加索引時(shí),如果存在外鍵,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則不報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_max_key_parts:參數(shù)可選范圍為1~64,參數(shù)默認(rèn)值為5,功能是在一個(gè)索引中,用來(lái)控制列的最大個(gè)數(shù),

如果超過(guò)這個(gè)數(shù)目則報(bào)錯(cuò)。在增加索引或新建表時(shí),都會(huì)生效。

inception_max_update_rows:參數(shù)可選范圍為1~MAX,參數(shù)默認(rèn)值為10000,功能是在一個(gè)修改語(yǔ)句中,用來(lái)控制預(yù)計(jì)影響的最大行數(shù),

如果超過(guò)這個(gè)數(shù)就報(bào)錯(cuò)。這個(gè)參數(shù)的獲取方法是explain,對(duì)于有一些語(yǔ)句或在MySQL5.5版本中獲取不到相應(yīng)語(yǔ)句時(shí),預(yù)計(jì)行數(shù)都會(huì)是0,

這時(shí)這個(gè)參數(shù)就失效了。

inception_max_keys:參數(shù)可選范圍為1~1024,參數(shù)默認(rèn)值為16,功能在一個(gè)表中,用來(lái)控制支持的最大索引數(shù)目,

如果超過(guò)這個(gè)數(shù)則報(bào)錯(cuò),不管在新增表,還是新增索引時(shí),都有效。

inception_enable_not_innodb:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是在新建表指定的存儲(chǔ)引擎不是Innodb時(shí),

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則不報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_support_charset:參數(shù)可選范圍為MySQL支持字符集,參數(shù)默認(rèn)值為“utf8mb4”,功能是表示在建表或建庫(kù)時(shí)支持的字符集,

如果需要多個(gè),則用逗號(hào)分隔,影響的范圍是建表、設(shè)置會(huì)話字符集、修改表字符集屬性等。

inception_check_table_comment:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表及沒(méi)有設(shè)置表注釋時(shí),用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則會(huì)報(bào)錯(cuò)。

inception_check_column_comment:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表或改表加列,并且沒(méi)有設(shè)置列注釋時(shí),用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則會(huì)報(bào)錯(cuò)。

inception_check_primary_key:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表時(shí),如果沒(méi)有創(chuàng)建主鍵,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,就會(huì)報(bào)錯(cuò)。

inception_enable_partition_table:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是在建表時(shí),

如果創(chuàng)建了分區(qū)表,用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,不會(huì)報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_enable_enum_set_bit:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是在建表或加列時(shí),

如果列對(duì)應(yīng)的數(shù)據(jù)類型指定的是enum、set、bit數(shù)據(jù)類型,用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則不報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

inception_check_index_prefix:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是用來(lái)檢查新建或建表時(shí)的索引前綴,

普通索引的前綴為“idx_”,唯一索引的前綴為“uniq_”,如果設(shè)置為ON,并且索引前綴不符合規(guī)則,則會(huì)報(bào)錯(cuò)。

inception_enable_autoincrement_unsigned:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在新建表時(shí),

如果自增列不是無(wú)符號(hào)整型的數(shù)據(jù)類型,用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,就報(bào)錯(cuò),否則不報(bào)錯(cuò)。

inception_max_char_length:參數(shù)可選范圍為1~MAX,參數(shù)默認(rèn)值為16,功能是用來(lái)控制當(dāng)char類型的長(zhǎng)度大于多少時(shí),

就提示將其轉(zhuǎn)換為VARCHAR。

inception_check_autoincrement_init_value:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是當(dāng)建表時(shí)自增列的值指定不為1時(shí),

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則報(bào)錯(cuò)。

inception_check_autoincrement_datatype:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表時(shí)自增列的類型不為int或bigint時(shí),

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則會(huì)報(bào)錯(cuò)。

inception_check_timestamp_default:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表時(shí),如果沒(méi)有為timestamp類型指定默認(rèn)值,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則會(huì)報(bào)錯(cuò)。

inception_enable_column_charset:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是在新建表或修改表加列改列時(shí),

用來(lái)控制是否能單獨(dú)指定列的字符集,如果設(shè)置為ON,則表示可以設(shè)置,不報(bào)錯(cuò)。

inception_check_autoincrement_name:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表時(shí),如果指定的自增列名字不為ID,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則報(bào)錯(cuò),表示這個(gè)列可能存在業(yè)務(wù)意義,起到提示的作用。

inception_merge_alter_table:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在同一個(gè)Inception任務(wù)中,多個(gè)語(yǔ)句修改同一個(gè)表的語(yǔ)句出現(xiàn)時(shí),

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,則報(bào)錯(cuò),并提示合成一個(gè)。

inception_check_column_default_value:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表、修改列、新增列時(shí),

用來(lái)控制新的列屬性是否要有默認(rèn)值,如果設(shè)置為ON,則說(shuō)明必須要有默認(rèn)值,否則會(huì)報(bào)錯(cuò)。

inception_enable_blob_type:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是在建表、修改列、新增列操作時(shí),如果存在BLOB類型的列,

用來(lái)控制是否報(bào)錯(cuò),如果設(shè)置為ON,說(shuō)明支持BLOB類型,則不會(huì)報(bào)錯(cuò)。

inception_enable_identifer_keyword:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是在所有審核的SQL語(yǔ)句中,

如果有標(biāo)識(shí)符被寫成MySQL的關(guān)鍵字,用來(lái)控制是否報(bào)錯(cuò)。如果設(shè)置為ON,說(shuō)明支持標(biāo)識(shí)符為關(guān)鍵字,就不會(huì)報(bào)錯(cuò),否則會(huì)報(bào)錯(cuò)。

由于歷史原因,這里的identifer寫錯(cuò)了,正確寫法是identifier,但I(xiàn)nception發(fā)布已久,只能將錯(cuò)就錯(cuò)。

auto_commit:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是為了匹配Python客戶端每次自動(dòng)設(shè)置auto_commit=0的,

如果取消則會(huì)報(bào)錯(cuò),針對(duì)Inception本身沒(méi)有實(shí)際意義。

bind_address:參數(shù)可選范圍為string,參數(shù)默認(rèn)值為*。這個(gè)參數(shù)實(shí)際上就是MySQL數(shù)據(jù)庫(kù)原來(lái)的參數(shù),

因?yàn)镮ncpetion沒(méi)有權(quán)限驗(yàn)證過(guò)程,那么為了實(shí)現(xiàn)更安全的訪問(wèn),可以給Inception服務(wù)器的這個(gè)參數(shù)設(shè)置某些機(jī)器(Inception上層的應(yīng)用程序)的地址,

這樣其他非法程序就是不可訪問(wèn)的了,再加上Inception執(zhí)行選項(xiàng)中的用戶名密碼,對(duì)于后端MySQL就更加安全了。

general_log:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON。

這個(gè)參數(shù)就是原生的MySQL參數(shù),用來(lái)記錄在Inception服務(wù)上執(zhí)行過(guò)哪些語(yǔ)句,定位一些問(wèn)題等。

general_log_file:參數(shù)可選范圍為string,參數(shù)默認(rèn)值為inception.log,功能是設(shè)置generallog寫入的文件路徑。

inception_user:參數(shù)可選范圍為string,參數(shù)默認(rèn)值為empty。這個(gè)用戶名在配置之后,在連接Inception的選項(xiàng)中可以不指定user,

這樣就可以不暴露線上數(shù)據(jù)庫(kù)的用戶名及密碼了,可以作為臨時(shí)使用的一種方式。

但這個(gè)用戶現(xiàn)在只能用來(lái)審核,也就是說(shuō),即使在選項(xiàng)中指定--enable-execute,也不能執(zhí)行,是只能用來(lái)審核的賬號(hào)。

inception_password:參數(shù)可選范圍為string,參數(shù)默認(rèn)值為empty。這個(gè)參數(shù)與上面的參數(shù)是一對(duì)的,對(duì)應(yīng)的是選項(xiàng)中的password,設(shè)置這個(gè)參數(shù)之后,可以在選項(xiàng)中不指定password。

inception_enable_sql_statistic:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON。

用來(lái)設(shè)置是否支持在統(tǒng)計(jì)Inception執(zhí)行過(guò)的語(yǔ)句中,記錄各種語(yǔ)句分別占多大比例。

如果參數(shù)值為ON,則每次執(zhí)行的情況都會(huì)在備份數(shù)據(jù)庫(kù)實(shí)例中inception庫(kù)的statistic表中,以一條記錄的形式存儲(chǔ)這次操作的統(tǒng)計(jì)情況,

每次操作對(duì)應(yīng)一條記錄,這條記錄中含有的信息是各種類型的語(yǔ)句執(zhí)行次數(shù)情況,

具體的信息請(qǐng)參照52章中“Inception對(duì)SQL執(zhí)行情況的統(tǒng)計(jì)”一節(jié)。

inception_read_only:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF。

設(shè)置當(dāng)前Inception服務(wù)器是否為只讀,這是為了防止一些人在具有修改權(quán)限的賬號(hào)時(shí),通過(guò)Inception誤修改一些數(shù)據(jù)。

如果inception_read_only設(shè)置為ON,則即使打開了enable-execute,同時(shí)又有執(zhí)行權(quán)限,也不會(huì)去執(zhí)行,審核完成即返回。

inception_check_identifier:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為ON,功能是打開與關(guān)閉Inception對(duì)SQL語(yǔ)句中各種名字的檢查。

如果設(shè)置為ON,則發(fā)現(xiàn)名字中存在除數(shù)字、字母、下劃線之外的字符時(shí),會(huì)報(bào)Identifier“invalidname”isinvalid,validoptions:[a-z,A-Z,0-9,_]。

inception_max_primary_key_parts:參數(shù)可選范圍為1~64,參數(shù)默認(rèn)值為5,功能是在創(chuàng)建表時(shí),如果主鍵所包含的列個(gè)數(shù)超過(guò)這個(gè)設(shè)置的值,則會(huì)報(bào)警告。

inception_enable_pk_columns_only_int:參數(shù)可選范圍為ON/OFF,參數(shù)默認(rèn)值為OFF,功能是如果參數(shù)設(shè)置為ON,則在創(chuàng)建表或創(chuàng)建主鍵索引時(shí),會(huì)判斷包含的列的類型是否只有INT類型的,如果不是則報(bào)警告。

#備份服務(wù)器信息,注意改成你的機(jī)器.用于回滾。

inception_remote_backup_host:指定遠(yuǎn)程備份MySQL實(shí)例的地址。

inception_remote_backup_port:指定遠(yuǎn)程備份MySQL實(shí)例的端口。

inception_remote_system_user:備份時(shí),連接上面指定的MySQL實(shí)例時(shí)所需要的用戶名,這個(gè)用戶需要有相應(yīng)的權(quán)限,一般包括CREATE、INSERT及SELECT權(quán)限。

inception_remote_system_password:備份時(shí),連接備份庫(kù)時(shí)所需要的用戶對(duì)應(yīng)的密碼。

#inception 支持 OSC 參數(shù)

inception_osc_bin_dir=/user/bin:用于指定pt-online-schema-change腳本的位置,不可修改,在配置文件中設(shè)置

inception_osc_check_interval=5 #對(duì)應(yīng)OSC參數(shù)--check-interval,意義是Sleep time between checks for --max-lag.

inception_osc_chunk_size=1000 #對(duì)應(yīng)OSC參數(shù)--chunk-size

inception_osc_chunk_size_limit=4 #對(duì)應(yīng)OSC參數(shù)--chunk-size-limit

inception_osc_chunk_time=0.1 #對(duì)應(yīng)OSC參數(shù)--chunk-timeinception_osc_critical_thread_connected=1000 #對(duì)應(yīng)參數(shù)--critical-load中的thread_connected部分

inception_osc_critical_thread_running=80 #對(duì)應(yīng)參數(shù)--critical-load中的thread_running部分

inception_osc_drop_new_table=1 #對(duì)應(yīng)參數(shù)--[no]drop-new-table

inception_osc_drop_old_table=1 #對(duì)應(yīng)參數(shù)--[no]drop-old-table

inception_osc_max_lag=3 #對(duì)應(yīng)參數(shù)--max-lag

inception_osc_max_thread_connected=1000 #對(duì)應(yīng)參數(shù)--max-load中的thread_connected部分

inception_osc_max_thread_running=80 #對(duì)應(yīng)參數(shù)--max-load中的thread_running部分

inception_osc_min_table_size=0 # 這個(gè)參數(shù)實(shí)際上是一個(gè)OSC的開關(guān),如果設(shè)置為0,則全部ALTER語(yǔ)句都走OSC,如果設(shè)置為非0,則當(dāng)這個(gè)表占用空間大小大于這個(gè)值時(shí)才使用OSC方式。單位為M,這個(gè)表大小的計(jì)算方式是通過(guò)語(yǔ)句:"select (DATA_LENGTH + INDEX_LENGTH)/1024/1024 from information_schema.tables where table_schema = 'dbname' and table_name = 'tablename'"來(lái)實(shí)現(xiàn)的

inception_osc_on=0#一個(gè)全局的OSC開關(guān),默認(rèn)是打開的,如果想要關(guān)閉則設(shè)置為OFF,這樣就會(huì)直接修改

inception_osc_print_none=1#用來(lái)設(shè)置在Inception返回結(jié)果集中,對(duì)于原來(lái)OSC在執(zhí)行過(guò)程的標(biāo)準(zhǔn)輸出信息是不是要打印到結(jié)果集對(duì)應(yīng)的錯(cuò)誤信息列中,如果設(shè)置為1,就不打印,如果設(shè)置為0,就打印。而如果出現(xiàn)錯(cuò)誤了,則都會(huì)打印

inception_osc_print_sql=1 #對(duì)應(yīng)參數(shù)--print

啟動(dòng)Inception

# Inception --defaults-file=/etc/inc.cnf mysql-h127.0.0.1 -uroot -P66691 [(none)] 10:53:26>inception get variables;+------------------------------------------+---------------------------------------------+

| Variable_name | Value |

+------------------------------------------+---------------------------------------------+

| autocommit | OFF |

| bind_address | * |

| character_set_system | utf8 |

| character_sets_dir | /inception/inception-master/share/charsets/ |

| connect_timeout | 10 |

| date_format | %Y-%m-%d |

| datetime_format | %Y-%m-%d %H:%i:%s |

| general_log | ON |

| general_log_file | inception.log |

| inception_check_autoincrement_datatype | ON |

| inception_check_autoincrement_init_value | ON |

| inception_check_autoincrement_name | ON |

| inception_check_column_comment | OFF |

| inception_check_column_default_value | OFF |

| inception_check_dml_limit | ON |

| inception_check_dml_orderby | ON |

| inception_check_dml_where | ON |

| inception_check_identifier | ON |

| inception_check_index_prefix | ON |

| inception_check_insert_field | ON |

| inception_check_primary_key | ON |

| inception_check_table_comment | ON |

| inception_check_timestamp_default | ON |

| inception_ddl_support | OFF |

| inception_enable_autoincrement_unsigned | ON |

| inception_enable_blob_type | ON |

| inception_enable_column_charset | OFF |

| inception_enable_enum_set_bit | OFF |

| inception_enable_foreign_key | OFF |

| inception_enable_identifer_keyword | OFF |

| inception_enable_not_innodb | OFF |

| inception_enable_nullable | ON |

| inception_enable_orderby_rand | OFF |

| inception_enable_partition_table | OFF |

| inception_enable_pk_columns_only_int | OFF |

| inception_enable_select_star | OFF |

| inception_enable_sql_statistic | ON |

| inception_max_char_length | 30 |

| inception_max_key_parts | 5 |

| inception_max_keys | 16 |

| inception_max_primary_key_parts | 5 |

| inception_max_update_rows | 10000 |

| inception_merge_alter_table | ON |

| inception_osc_alter_foreign_keys_method | none |

| inception_osc_bin_dir | /usr/local/toolkit/bin |

| inception_osc_check_alter | ON |

| inception_osc_check_interval | 5.000000 |

| inception_osc_check_replication_filters | ON |

| inception_osc_chunk_size | 1000 |

| inception_osc_chunk_size_limit | 4.000000 |

| inception_osc_chunk_time | 0.100000 |

| inception_osc_critical_thread_connected | 1000 |

| inception_osc_critical_thread_running | 80 |

| inception_osc_drop_new_table | ON |

| inception_osc_drop_old_table | ON |

| inception_osc_max_lag | 3.000000 |

| inception_osc_max_thread_connected | 1000 |

| inception_osc_max_thread_running | 80 |

| inception_osc_min_table_size | 1 |

| inception_osc_on | ON |

| inception_osc_print_none | ON |

| inception_osc_print_sql | ON |

| inception_osc_recursion_method | processlist |

| inception_password | |

| inception_read_only | OFF |

| inception_remote_backup_host | 127.0.0.1 |

| inception_remote_backup_port | 3307 |

| inception_remote_system_password | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |

| inception_remote_system_user | wanbin |

| inception_support_charset | utf8mb4 |

| inception_user | |

| interactive_timeout | 28800 |

| max_allowed_packet | 1073741824 |

| max_connect_errors | 100 |

| max_connections | 151 |

| net_buffer_length | 16384 |

| net_read_timeout | 30 |

| net_write_timeout | 60 |

| port | 6669 |

| query_alloc_block_size | 8192 |

| query_prealloc_size | 8192 |

| socket | /tmp/inc.socket |

| thread_handling | one-thread-per-connection |

| thread_stack | 262144 |

| time_format | %H:%i:%s |

| version | Inception2.1.50 |

| version_comment | Source distribution |

| version_compile_machine | x86_64 |

| version_compile_os | Linux |

| wait_timeout | 28800 |

+------------------------------------------+---------------------------------------------+

90 rows in set (0.00 sec)

Yearning

1. Yearning簡(jiǎn)介

Yearning 開源的MYSQL SQL語(yǔ)句審核平臺(tái),提供數(shù)據(jù)庫(kù)字典查詢,查詢審計(jì),SQL審核等多種功能。

Yearning 是基于Inception的web可視化SQL審核平臺(tái),其本身只提供可視化交互頁(yè)面并不具備sql審核的能力。

2. Yearning安裝

從v1.3.0版本開始將采取docker運(yùn)行的方式,不再提供普通安裝教程

2.1 Yearning v1.3.0及以上版本安裝

docker-compose安裝

# sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#sudo chmod +x /usr/local/bin/docker-compose

# docker-compose --version

docker-compose version 1.22.0, build f46880fe

# service docker start

Yearning安裝

# git clone https://github.com/cookieY/Yearning.git

# cd/opt/Yearning-master/install/yearning-docker-compose

# vim docker-compose.yml

把8080:80 改成 80:80# docker-compose up -d

請(qǐng)注意本地不要占用8080和8000端口 如需要更改端口可再docker-compose.yml文件中更改,3306和8000端口不可更改!docker-compose并不能確定容器的依賴關(guān)系,所以如果執(zhí)行后無(wú)法登陸,請(qǐng)使用docker-compose restart yearning重啟容器

cd /opt/Yearning-master/install/yearning-docker-compose

docker-compose down

或者

docker-compose stop yearning #停止yearning服務(wù)

docker-compose stop db #停止mysql服務(wù)

cd/opt/Yearning-master/install/yearning-docker-compose

docker-compose up -d

或者

docker-compose start yearning #啟動(dòng)yearning服務(wù)

docker-compose start db #啟動(dòng)mysql服務(wù)

默認(rèn)用戶:admin

默認(rèn)密碼: Yearning_admin

使用外部mysql

docker-compose中已經(jīng)包含了mysql且掛載本地目錄,不存在容器銷毀數(shù)據(jù)消失的問(wèn)題,但如果你還是想使用外部mysql,可使用以下步驟:

#新建Yearning庫(kù),設(shè)置字符集為UTF-8,

然后在Yearning庫(kù)中導(dǎo)入sql文件

# cd/opt/Yearning-master/install/yearning-docker-compose/init-sql

mysql>create database Yearning DEFAULT CHARACTER SET utf8mb4;

mysql>use Yearning

mysql>source install.sql

# docker run-d -e HOST=192.168.56.210\-e MYSQL_ADDR=192.168.56.210\-e MYSQL_USER=wanbin \-e MYSQL_PASSWORD=mysql \-p80:80 -p8000:8000 registry.cn-hangzhou.aliyuncs.com/cookie/yearning:v1.3.2

登陸后請(qǐng)通過(guò)設(shè)置頁(yè)面設(shè)置inception及其他配置信息

2.2 Yearning v1.2.0版本安裝

啟動(dòng)

#啟動(dòng)nginx

systemctl start nginx

#啟動(dòng)Inception

Inception--defaults-file=/etc/inc.cnf 啟動(dòng)yearning

cd/opt/Yearning-1.2.0/src/gunicorn settingConf.wsgi:application-c gunicorn.conf

#ps -ef|grepgun

root26174 1 2 13:56 ? 00:00:00 /usr/local/bin/python3.6 /usr/local/bin/gunicorn settingConf.wsgi:application -c gunicorn.conf

root26181 26174 17 13:56 ? 00:00:00 /usr/local/bin/python3.6 /usr/local/bin/gunicorn settingConf.wsgi:application -c gunicorn.conf

root26182 26174 15 13:56 ? 00:00:00 /usr/local/bin/python3.6 /usr/local/bin/gunicorn settingConf.wsgi:application -c gunicorn.conf

root26189 1925 0 13:57 pts/0 00:00:00 grep --color=auto gun

代表啟動(dòng)成功

總結(jié)

以上是生活随笔為你收集整理的mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。