D03 Ubuntu16 安裝Inception

TOC


https://github.com/cookieY/inception-document/blob/master/docs/install.mdmysql

1. WSL 安裝

見 D01 Win10-WSL-Ubuntu16 安裝linux

3. 安裝Inception

ubuntu16安裝,不要選擇ubuntu18
此時能夠先不裝mysql,pt,git

#1. 依賴 
sudo apt-get install cmake libncurses5-dev libssl-dev g++ m4 perl
#2. 安裝bison,官方建議2.6版本以前,2.5.1/2.4 均可以,2.3不行
mkdir ~/program ; cd ~/program 
wget -c https://static.saintic.com/download/inception/bison-2.5.1.tar && tar -xf bison-2.5.1.tar  cd bison-2.5.1 
./configure && sudo make && sudo make install
#3. 安裝inception  
git clone , cd Inception ,
sh inception_build.sh debug     #後面的平臺是可選的,若是不指定就是linux平臺


#或者直接cmake
cmake -DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=/Inception -DMYSQL_DATADIR=/Inception/data -DWITH_SSL=bundled -DCMAKE_BUILD_TYPE=RELEASE -DWITH_ZLIB=bundled -DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunused -Wno-dev -Wwrite-strings -Wno-strict-aliasing -Wno-unused-parameter -Woverloaded-virtual" -DMY_MAINTAINER_C_WARNINGS="-Wall -Wextra -Wno-dev -Wunused -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement" && make && make install


#macos 的話, 安裝xcode ,macos 系統版本過低,好比10.12 , Apple store 最新的xcode 不能下載,在developer.apple.com下載xcode8 , 解壓,安裝。 
inception_build.sh debug [Xcode]

4. 啓動

sudo vim /etc/inc.cnf 
chown -R 777 /usr/local/inception/        #socket目錄建立和權限
sudo chown -R 777 /usr/local/inception/
cd debug/mysql/bin/
sudo ./Inception --defaults-file=/etc/inc.cnf &
./mysql -uroot -h127.0.0.1 -P6669        #登陸
inception get variables;                #查看variables

5. 參數解釋

[inception]
general_log=1
general_log_file=/var/log/inception.log
#這個參數實際上就是MySQL數據庫原來的參數,由於Incpetion沒有權限驗證過程,那麼爲了實現更安全的訪問,能夠給Inception服務器的這個參數設置某臺機器(Inception上層的應用程序)不地址,這樣
#其它非法程序是不可訪問的,那麼再加上Inception執行的選項中的用戶名密碼,對MySQL就更加安全
bind_address=$bind_address
port=$port
socket=/var/run/inception.socket
character-set-client-handshake=0
character-set-server=utf8

#備份相關
#須要開啓binlog
inception_remote_system_password=$inception_remote_system_password
inception_remote_system_user=$inception_remote_system_user
inception_remote_backup_port=$inception_remote_backup_port
inception_remote_backup_host=$inception_remote_backup_host

#在DML語句中沒有WHERE條件時,是否是要報錯
inception_check_dml_where=1
#在DML語句中使用了LIMIT時,是否是要報錯
inception_check_dml_limit=1
#在DML語句中使用了Order By時,是否是要報錯
inception_check_dml_orderby=1
#Select*時是否是要報錯
inception_enable_select_star=1
#order by rand時是否是報錯
inception_enable_orderby_rand=1
#建立或者新增列時若是列爲NULL,是否是報錯
inception_enable_nullable=1
#是否是支持外鍵
inception_enable_foreign_key=1
#一個索引中,列的最大個數,超過這個數目則報錯(1-64)
inception_max_key_parts=5
#在一個修改語句中,預計影響的最大行數,超過這個數就報錯(1-max)
inception_max_update_rows=10000
#一個表中,最大的索引數目,超過這個數則報錯(1-1024)
inception_max_keys=16
#建表指定的存儲引擎不爲Innodb,不報錯
inception_enable_not_innodb=0
#表示在建表或者建庫時支持的字符集,若是須要多個,則用逗號分隔,影響的範圍是建表、設置會話字符集、修改表字符集屬性等
inception_support_charset=$inception_support_charset
#建表時,表沒有註釋時報錯
inception_check_table_comment=1
#建表時,列沒有註釋時報錯
inception_check_column_comment=1
#建表時,若是沒有主鍵,則報錯
inception_check_primary_key=1
#是否是支持分區表
inception_enable_partition_table=0
#是否是支持enum,set,bit數據類型
inception_enable_enum_set_bit=0
#是否是要檢查索引名字前綴爲"idx_",檢查惟一索引前綴是否是"uniq_"
inception_check_index_prefix=1
#自增列是否是要爲無符號型
inception_enable_autoincrement_unsigned=1
#當char類型的長度大於這個值時,就提示將其轉換爲VARCHAR(1-max)
inception_max_char_length=16
#當建表時自增列的值指定的不爲1,則報錯
inception_check_autoincrement_init_value=1
#當建表時自增列的類型不爲int或者bigint時報錯
inception_check_autoincrement_datatype=1
#建表時,若是沒有爲timestamp類型指定默認值,則報錯
inception_check_timestamp_default=0
#容許列本身設置字符集
inception_enable_column_charset=0
#建表時,若是指定的自增列的名字不爲ID,則報錯,說明是有意義的,給提示
inception_check_autoincrement_name=1
#在多個改同一個表的語句出現時,報錯,提示合成一個
inception_merge_alter_table=1
#檢查在建表、修改列、新增列時,新的列屬性是否是要有默認值
inception_check_column_default_value=1
#檢查是否是支持BLOB字段,包括建表、修改列、新增列操做
inception_enable_blob_type=1
#檢查在SQL語句中,是否是有標識符被寫成MySQL的關鍵字,默認值爲報警。
inception_enable_identifer_keyword=1
#這個參數的做用是爲了匹配Python客戶端每次自動設置auto_commit=0的,若是取消則會報錯,針對Inception自己沒有實際意義
#auto_commit=0

#打開與關閉Inception對SQL語句中各類名字的檢查,若是設置爲ON,則若是發現名字中存在除數字字母下劃線以外的字符時,報Identifier "invalidname" is invalid, valid options: [a-z,A-Z,0-9,_].
inception_check_identifier=1

#開啓對OSC的支持
inception_osc_on=$inception_osc_on
inception_osc_bin_dir=/usr/local/bin/pt-online-schema-change
相關文章
相關標籤/搜索