mysql inception web_基于Inception搭建MySQL SQL審核平臺Yearing

Inception

1. Inceptionj簡介

Inception是一款針對MySQL的SQL語句審核自動化運維工具。使用Inception,將會給DBA帶來更大的便利性,將DBA從繁冗的工作中解放出來,做更多的自動化工作,或者從架構方面研究如何更大程度地保證數據庫的高可用等。

2. Inception安裝

2.1 下載和編譯

獲取Inception源代碼:

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

依賴包安裝

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

bison:用來編譯語法文件(.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 啟動配置

拷貝啟動文件

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

配置參數文件/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

詳細參數介紹

port=6669:Inception的服務端口

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

character-set-server=utf8:mysql原生參數

#Inception 審核規則

inception_check_insert_field:參數可選范圍為ON/OFF,參數默認值為ON,功能是在插入語句中,

用來控制是否指定插入列列表,如果沒有指定,并且參數值為ON,則會報錯。

inception_check_dml_where:參數可選范圍為ON/OFF,參數默認值為ON,功能是在審核DML語句時,

如果發現沒有WHERE條件,并且此參數設置為ON,就會報錯,否則被忽略

inception_check_dml_limit:參數可選范圍為ON/OFF,參數默認值為ON,功能說明是在DML語句中,如果使用了LIMIT表達式,

并且此參數設置為ON,就會報錯。這一般用來防止STATEMENT語句主從復制時導致主從不一致的問題。

inception_check_dml_orderby:參數可選范圍為ON/OFF,參數默認值為ON,功能是在DML語句中,如果使用了OrderBy表達式,

并且此參數設置為ON,就會報錯。這一般用來防止STATEMENT語句主從復制時導致主從不一致的問題。

inception_enable_select_star:參數可選范圍為ON/OFF,參數默認值為ON,功能是在遇到查詢語句為“select*from”,

并且此參數設置為ON時,不會報錯,否則會報錯。

inception_enable_orderby_rand:參數可選范圍為ON/OFF,參數默認值為ON,功能是語句中出現orderbyrand()時,

用來控制是否報錯,設置為ON表示不報錯,否則會報錯。

inception_enable_nullable:參數可選范圍為ON/OFF,參數默認值為ON,功能是在創建或者新增列時,如果列為NULL,

用來控制是否報錯,如果設置為ON,表示不報錯,否則會報錯。

inception_enable_foreign_key:參數可選范圍為ON/OFF,參數默認值為ON,功能是在創建表或增加索引時,如果存在外鍵,

用來控制是否報錯,如果設置為ON,則不報錯,否則會報錯。

inception_max_key_parts:參數可選范圍為1~64,參數默認值為5,功能是在一個索引中,用來控制列的最大個數,

如果超過這個數目則報錯。在增加索引或新建表時,都會生效。

inception_max_update_rows:參數可選范圍為1~MAX,參數默認值為10000,功能是在一個修改語句中,用來控制預計影響的最大行數,

如果超過這個數就報錯。這個參數的獲取方法是explain,對于有一些語句或在MySQL5.5版本中獲取不到相應語句時,預計行數都會是0,

這時這個參數就失效了。

inception_max_keys:參數可選范圍為1~1024,參數默認值為16,功能在一個表中,用來控制支持的最大索引數目,

如果超過這個數則報錯,不管在新增表,還是新增索引時,都有效。

inception_enable_not_innodb:參數可選范圍為ON/OFF,參數默認值為OFF,功能是在新建表指定的存儲引擎不是Innodb時,

用來控制是否報錯,如果設置為ON,則不報錯,否則會報錯。

inception_support_charset:參數可選范圍為MySQL支持字符集,參數默認值為“utf8mb4”,功能是表示在建表或建庫時支持的字符集,

如果需要多個,則用逗號分隔,影響的范圍是建表、設置會話字符集、修改表字符集屬性等。

inception_check_table_comment:參數可選范圍為ON/OFF,參數默認值為ON,功能是在建表及沒有設置表注釋時,用來控制是否報錯,如果設置為ON,則會報錯。

inception_check_column_comment:參數可選范圍為ON/OFF,參數默認值為ON,功能是在建表或改表加列,并且沒有設置列注釋時,用來控制是否報錯,如果設置為ON,則會報錯。

inception_check_primary_key:參數可選范圍為ON/OFF,參數默認值為ON,功能是在建表時,如果沒有創建主鍵,

用來控制是否報錯,如果設置為ON,就會報錯。

inception_enable_partition_table:參數可選范圍為ON/OFF,參數默認值為OFF,功能是在建表時,

如果創建了分區表,用來控制是否報錯,如果設置為ON,不會報錯,否則會報錯。

inception_enable_enum_set_bit:參數可選范圍為ON/OFF,參數默認值為OFF,功能是在建表或加列時,

如果列對應的數據類型指定的是enum、set、bit數據類型,用來控制是否報錯,如果設置為ON,則不報錯,否則會報錯。

inception_check_index_prefix:參數可選范圍為ON/OFF,參數默認值為ON,功能是用來檢查新建或建表時的索引前綴,

普通索引的前綴為“idx_”,唯一索引的前綴為“uniq_”,如果設置為ON,并且索引前綴不符合規則,則會報錯。

inception_enable_autoincrement_unsigned:參數可選范圍為ON/OFF,參數默認值為ON,功能是在新建表時,

如果自增列不是無符號整型的數據類型,用來控制是否報錯,如果設置為ON,就報錯,否則不報錯。

inception_max_char_length:參數可選范圍為1~MAX,參數默認值為16,功能是用來控制當char類型的長度大于多少時,

就提示將其轉換為VARCHAR。

inception_check_autoincrement_init_value:參數可選范圍為ON/OFF,參數默認值為ON,功能是當建表時自增列的值指定不為1時,

用來控制是否報錯,如果設置為ON,則報錯。

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

用來控制是否報錯,如果設置為ON,則會報錯。

inception_check_timestamp_default:參數可選范圍為ON/OFF,參數默認值為ON,功能是在建表時,如果沒有為timestamp類型指定默認值,

用來控制是否報錯,如果設置為ON,則會報錯。

inception_enable_column_charset:參數可選范圍為ON/OFF,參數默認值為OFF,功能是在新建表或修改表加列改列時,

用來控制是否能單獨指定列的字符集,如果設置為ON,則表示可以設置,不報錯。

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

用來控制是否報錯,如果設置為ON,則報錯,表示這個列可能存在業務意義,起到提示的作用。

inception_merge_alter_table:參數可選范圍為ON/OFF,參數默認值為ON,功能是在同一個Inception任務中,多個語句修改同一個表的語句出現時,

用來控制是否報錯,如果設置為ON,則報錯,并提示合成一個。

inception_check_column_default_value:參數可選范圍為ON/OFF,參數默認值為ON,功能是在建表、修改列、新增列時,

用來控制新的列屬性是否要有默認值,如果設置為ON,則說明必須要有默認值,否則會報錯。

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

用來控制是否報錯,如果設置為ON,說明支持BLOB類型,則不會報錯。

inception_enable_identifer_keyword:參數可選范圍為ON/OFF,參數默認值為OFF,功能是在所有審核的SQL語句中,

如果有標識符被寫成MySQL的關鍵字,用來控制是否報錯。如果設置為ON,說明支持標識符為關鍵字,就不會報錯,否則會報錯。

由于歷史原因,這里的identifer寫錯了,正確寫法是identifier,但Inception發布已久,只能將錯就錯。

auto_commit:參數可選范圍為ON/OFF,參數默認值為OFF,功能是為了匹配Python客戶端每次自動設置auto_commit=0的,

如果取消則會報錯,針對Inception本身沒有實際意義。

bind_address:參數可選范圍為string,參數默認值為*。這個參數實際上就是MySQL數據庫原來的參數,

因為Incpetion沒有權限驗證過程,那么為了實現更安全的訪問,可以給Inception服務器的這個參數設置某些機器(Inception上層的應用程序)的地址,

這樣其他非法程序就是不可訪問的了,再加上Inception執行選項中的用戶名密碼,對于后端MySQL就更加安全了。

general_log:參數可選范圍為ON/OFF,參數默認值為ON。

這個參數就是原生的MySQL參數,用來記錄在Inception服務上執行過哪些語句,定位一些問題等。

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

inception_user:參數可選范圍為string,參數默認值為empty。這個用戶名在配置之后,在連接Inception的選項中可以不指定user,

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

但這個用戶現在只能用來審核,也就是說,即使在選項中指定--enable-execute,也不能執行,是只能用來審核的賬號。

inception_password:參數可選范圍為string,參數默認值為empty。這個參數與上面的參數是一對的,對應的是選項中的password,設置這個參數之后,可以在選項中不指定password。

inception_enable_sql_statistic:參數可選范圍為ON/OFF,參數默認值為ON。

用來設置是否支持在統計Inception執行過的語句中,記錄各種語句分別占多大比例。

如果參數值為ON,則每次執行的情況都會在備份數據庫實例中inception庫的statistic表中,以一條記錄的形式存儲這次操作的統計情況,

每次操作對應一條記錄,這條記錄中含有的信息是各種類型的語句執行次數情況,

具體的信息請參照52章中“Inception對SQL執行情況的統計”一節。

inception_read_only:參數可選范圍為ON/OFF,參數默認值為OFF。

設置當前Inception服務器是否為只讀,這是為了防止一些人在具有修改權限的賬號時,通過Inception誤修改一些數據。

如果inception_read_only設置為ON,則即使打開了enable-execute,同時又有執行權限,也不會去執行,審核完成即返回。

inception_check_identifier:參數可選范圍為ON/OFF,參數默認值為ON,功能是打開與關閉Inception對SQL語句中各種名字的檢查。

如果設置為ON,則發現名字中存在除數字、字母、下劃線之外的字符時,會報Identifier“invalidname”isinvalid,validoptions:[a-z,A-Z,0-9,_]。

inception_max_primary_key_parts:參數可選范圍為1~64,參數默認值為5,功能是在創建表時,如果主鍵所包含的列個數超過這個設置的值,則會報警告。

inception_enable_pk_columns_only_int:參數可選范圍為ON/OFF,參數默認值為OFF,功能是如果參數設置為ON,則在創建表或創建主鍵索引時,會判斷包含的列的類型是否只有INT類型的,如果不是則報警告。

#備份服務器信息,注意改成你的機器.用于回滾。

inception_remote_backup_host:指定遠程備份MySQL實例的地址。

inception_remote_backup_port:指定遠程備份MySQL實例的端口。

inception_remote_system_user:備份時,連接上面指定的MySQL實例時所需要的用戶名,這個用戶需要有相應的權限,一般包括CREATE、INSERT及SELECT權限。

inception_remote_system_password:備份時,連接備份庫時所需要的用戶對應的密碼。

#inception 支持 OSC 參數

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

inception_osc_check_interval=5 #對應OSC參數--check-interval,意義是Sleep time between checks for --max-lag.

inception_osc_chunk_size=1000 #對應OSC參數--chunk-size

inception_osc_chunk_size_limit=4 #對應OSC參數--chunk-size-limit

inception_osc_chunk_time=0.1 #對應OSC參數--chunk-timeinception_osc_critical_thread_connected=1000 #對應參數--critical-load中的thread_connected部分

inception_osc_critical_thread_running=80 #對應參數--critical-load中的thread_running部分

inception_osc_drop_new_table=1 #對應參數--[no]drop-new-table

inception_osc_drop_old_table=1 #對應參數--[no]drop-old-table

inception_osc_max_lag=3 #對應參數--max-lag

inception_osc_max_thread_connected=1000 #對應參數--max-load中的thread_connected部分

inception_osc_max_thread_running=80 #對應參數--max-load中的thread_running部分

inception_osc_min_table_size=0 # 這個參數實際上是一個OSC的開關,如果設置為0,則全部ALTER語句都走OSC,如果設置為非0,則當這個表占用空間大小大于這個值時才使用OSC方式。單位為M,這個表大小的計算方式是通過語句:"select (DATA_LENGTH + INDEX_LENGTH)/1024/1024 from information_schema.tables where table_schema = 'dbname' and table_name = 'tablename'"來實現的

inception_osc_on=0#一個全局的OSC開關,默認是打開的,如果想要關閉則設置為OFF,這樣就會直接修改

inception_osc_print_none=1#用來設置在Inception返回結果集中,對于原來OSC在執行過程的標準輸出信息是不是要打印到結果集對應的錯誤信息列中,如果設置為1,就不打印,如果設置為0,就打印。而如果出現錯誤了,則都會打印

inception_osc_print_sql=1 #對應參數--print

啟動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簡介

Yearning 開源的MYSQL SQL語句審核平臺,提供數據庫字典查詢,查詢審計,SQL審核等多種功能。

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

2. Yearning安裝

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

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

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

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

docker-compose down

或者

docker-compose stop yearning #停止yearning服務

docker-compose stop db #停止mysql服務

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

docker-compose up -d

或者

docker-compose start yearning #啟動yearning服務

docker-compose start db #啟動mysql服務

默認用戶:admin

默認密碼: Yearning_admin

使用外部mysql

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

#新建Yearning庫,設置字符集為UTF-8,

然后在Yearning庫中導入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

登陸后請通過設置頁面設置inception及其他配置信息

170847a160256359d6ee5290f2cba6be.png

a506589176a3e6bc7754a51cb04307d9.png

2.2 Yearning v1.2.0版本安裝

啟動

#啟動nginx

systemctl start nginx

#啟動Inception

Inception--defaults-file=/etc/inc.cnf 啟動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

代表啟動成功

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378937.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378937.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378937.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C---日常練習

若有以下定義語句:int a5;printf("%d\n",a);則輸出結果是() 解析:a 即先使用再自增,a的初始值即為5,則先使用,輸出結果為5 舉個例子: int a5,b; ba;//等價于 ba;aa1 prin…

VS2010 運行庫設置

如下圖所示,當在一個EXE工程中調用lib或dll時,2個工程的下面選項一定要一致,否則會導致exe工程編譯不過。 原則: Debug下,默認是MTd; Release下,默認是MT。 轉載于:https://www.cnblogs.com/lgh…

算法中的Strassen矩陣乘法

Introduction 介紹 Strassen in 1969 which gives an overview that how we can find the multiplication of two 2*2 dimension matrix by the brute-force algorithm. But by using divide and conquer technique the overall complexity for multiplication two matrices i…

零拷貝、mmap、sendfile

目錄零拷貝mmapsendFile總結零拷貝 要了解零拷貝,首先得先了解一下傳統 IO 的執行流程,這里舉個例子,通過傳統的 IO 進行網絡傳輸來傳輸一個文件。 先上一張圖,這張圖就代表了傳統 IO 傳輸文件的流程。 讀取文件的時候&#xf…

網頁服務器和mysql服務器_實現Web服務器之間使用同一個MYSQL和相同的網頁配置文件的方法...

實現Web服務器之間使用同一個MYSQL和相同的網頁配置文件的方法發布時間:2020-04-15 16:42:41來源:億速云閱讀:133作者:三月欄目:數據庫億速云負載均衡(Cloud Load Balancer)是對多臺云服務器進行流量分發的服務。億速云…

傳128GB版iPad4售價為799/929美元

外媒9to5mac報道,蘋果將推出一款升級版iPad4,外觀和iPad 4相同,還是黑白兩色的,只加入了新的SKU。 據報道,這款升級版iPad4還有128GB版,隨著這條消息傳出,不久關于128GB版iPad4的售價信息也傳出…

(西工程-金花)小米路由器連接哆點設置WiFi保姆式教程

小米路由器連接電源,用根網線一端插入寢室的網口處,另一端插入小米路由器的WAN口手機或者電腦連接WiFi,我這里是通過手機瀏覽器打開192.168.31.1進入無線路由器管理頁面進行配置小米路由器,配置WiFi的一些基本參數,例如:WiFi名稱,密碼之類的信息 進入無線路由器管理…

基于MINA框架快速開發網絡應用程序

1.MINA框架簡介 Netty、Mina、Cindy都是不錯的NIO開源框架,后兩者都是在Netty的基礎上演化出來的。MINA(Multipurpose Infrastructure for Network Applications)是用于開發高性能和高可用性的網絡應用程序的基礎框架。通過使用MINA框架可以可以省下處理…

Python中@staticmethod和@classmethod之間的區別

classmethod裝飾器 (The classmethod Decorator) The classmethod decorator is an inbuilt function decorator that gets evaluated after the function is defined. The result of the evaluation shadows the function definition. The classmethods first argument is alw…

go 聲明二維數組_一篇文章了解Go語言中數組Arrays的使用內幕

概述與其他編程語言類似,Go語言也有數組array。Go語言中,數組的行為和其他語言沒有什么不同.Go語言中還有一個叫做切片slice的東西,它就像是對數組的引用。在本文中,我們將只研究數組。定義數組是同一類型元素的連續集合&#xff…

ffmpeg 使用ffplay 進行 hls 拉流 分析 1

ffmpeg 使用 ffplay 進行 hls 拉流 分析 1 從使用ffplay 調用 http://192.168.1.100:8080/live/livestream.m3u8 開始,進入到ffmpeg 的分析使用的協議選擇相應的解復用器的步驟。 其他協議或者文件方式的使用ffplay也是這個步驟流程的。 目錄:一、流程圖…

搜狗輸入法輸出特殊符號快捷鍵

https://www.petefreitag.com/cheatsheets/ascii-codes/ 參考上個編碼網站大全 詳細步驟為:alt長按 + 編碼數字 例如:平方的編碼為178-----長按alt178 即可,178是數字一個一個挨個按即可 常用的特殊符號如下: 平方&…

echo 12345678 | base64 產生的結果跟12345678真正的base64編碼不對

echo "12345678" | base64 產生的結果跟"12345678"真正的base64編碼不對 弄了好久才搞清楚,echo 命令是帶換行符的,改成echo -n "12345678" | base64就沒問題了轉載于:https://www.cnblogs.com/senix/archive/2013/01/30/…

[BuildRelease Management]CC.NET架構

一 CC.NET的操作流程 1) 等待Trigger的喚醒; 2)從Source Control System查詢上次build以后的修改列表; 3)如果任何修改被發現或是Trigger觸發類型為 force the build : 3.1)為build產生一個label number&a…

python 入門到實踐期末考試常出現的考試內容_Python編程入門到實踐—列表篇(一)...

一、列表是什么?列表由一系列按特定順序排列的元素組成。可以創建包含字母表中所有字母、數字0-9或所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素之間可以沒有任何關系。列表通常包含多個元素,給列表指定一個表示…

c#中將集合寫入文本_在C#中將記錄插入MySQL數據庫

c#中將集合寫入文本In the last tutorial (how to connect with MySQL database in C#?), we learned about making the connection with MySQL database in C#. Here, in this tutorial, we will learn how to insert the records in MySQL database in C#? 在上一教程( 如何…

read/fread write/fwrite 的區別

fread就是通過read來實現的,fread是C語言的庫,而read是系統調用。 差別在read每次讀的數據是調用者要求的大小,比如調用者要求讀取10個字節數據,read就會從內核緩沖區(操作系統開辟的一段空間用來存儲磁盤上的數據&am…

如何在子網中訪問上層網絡的計算機文件夾

場景 公司路由器A,直接接外部網線,內部ip192.168.11.1,lan口又接了路由器A1,IP為192.168.11.2,A1的lan端口接了一臺電腦A,Ip為192.168.0.2,接了另外一個路由A2,Ip為192.168.11.3&…

基于Web的套打方案分析

應用web化,不論對開發商,還是對用戶來說,實在是一種很經濟的選擇,因為基于web的應用,客戶端的規則很簡單,容易學習,容易維護,容易發布。但對程序員來說,因為瀏覽器的局限…

day1-Linux操作系統基礎

該專欄所有內容筆記均來自傳智播客培訓班 1.什么是操作系統(operate system OS) 小議:承上啟下作用,向下可以控制硬件,向上能夠支持軟件的運行。一個可以控制硬件的軟件。 小明找小紅聊天,小明打開QQ&…