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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

配置或者程序概述

發(fā)布時(shí)間:2024/4/14 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置或者程序概述 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MySQL程序首先檢查環(huán)境變量,然后檢查選項(xiàng)文件,然后檢查命令行來確定給出了哪些選項(xiàng)。如果多次指定一個(gè)選項(xiàng),最后出現(xiàn)的選項(xiàng)占先。
這說明環(huán)境變量具有最低的優(yōu)先級(jí),命令行選項(xiàng)具有最高優(yōu)先級(jí)。

可以在選項(xiàng)文件中指定程序選項(xiàng)的默認(rèn)值來讓MySQL程序處理各選項(xiàng)。
不需要在每次運(yùn)行程序時(shí)輸入選項(xiàng),但可以根據(jù)需要通過命令行選項(xiàng)來覆蓋默認(rèn)值。

在命令行中指定的程序選項(xiàng)遵從下述規(guī)則:
· 在命令名后面緊跟選項(xiàng)。
· 選項(xiàng)參量以一個(gè)和兩個(gè)破折號(hào)開始,取決于它具有短名還是長(zhǎng)名。許多選項(xiàng)有兩種形式。
例如,-?和--help是指導(dǎo)MySQL程序顯示幫助消息的選項(xiàng)的短名和長(zhǎng)名。
· 選項(xiàng)名對(duì)大小寫敏感。-v和-V均有效,但具有不同的含義。(它們是--verbose和--version選項(xiàng)的短名)。
· 部分選項(xiàng)在選項(xiàng)名后面緊隨選項(xiàng)值。
例如,-h localhost或--host=localhost表示客戶程序的MySQL服務(wù)器主機(jī)。選項(xiàng)值可以告訴程序MySQL服務(wù)器運(yùn)行的主機(jī)名。
· 對(duì)于帶選項(xiàng)值的長(zhǎng)選項(xiàng),通過一個(gè)‘=’將選項(xiàng)名和值隔離開來。
對(duì)于帶選項(xiàng)值的短選項(xiàng),選項(xiàng)值可以緊隨選項(xiàng)字母后面,或者二者之間可以用一個(gè)空格隔開。
(-hlocalhost和-h localhost是等效的)。
該規(guī)則的例外情況是指定MySQL密碼的選項(xiàng)。
該選項(xiàng)的形式可以為--password=pass_val或--password。
在后一種情況(未給出 密碼值),程序?qū)⑻崾据斎朊艽a。也可以給出密碼選項(xiàng),短形式為-ppass_val或-p。
然而,對(duì)于短形式,如果給出了 密碼值,必須緊跟在選項(xiàng)后面,中間不能插入空格。
這樣要求的原因是如果選項(xiàng)后面有空格,程序沒有辦法來告知后面的參量是 密碼值還是其它某種參量。
因此,下面兩個(gè)命令的含義完全不同:

· shell> mysql -ptest
· shell> mysql -p test
第一個(gè)命令讓mysql使用密碼test,但沒有指定默認(rèn)數(shù)據(jù)庫。
第二個(gè)命令讓mysql提示輸入 密碼并使用test作為默認(rèn)數(shù)據(jù)庫。

要想禁用列名,可以使用下面的形式來指定選項(xiàng):

--disable-column-names
--skip-column-names
--column-names=0
--disable和--skip前綴與=0后綴的效果相同:它們均關(guān)閉選項(xiàng)。

可以用下述方法“啟用”選項(xiàng):

--column-names
--enable-column-names
--column-names=1

如果選項(xiàng)有前綴--loose,如果程序未識(shí)別出選項(xiàng)不會(huì)提示錯(cuò)誤退出,但是會(huì)發(fā)出一條警告:

shell> mysql --loose-no-such-option
mysql: WARNING: unknown option '--no-such-option'
當(dāng)你從安裝了多個(gè)MySQL的同一臺(tái)機(jī)器上運(yùn)行程序時(shí),--loose前綴會(huì)很有用。當(dāng)你在一個(gè)選項(xiàng)文件中列出選項(xiàng)時(shí),該前綴會(huì)特別有用。有可能不能被程序的所有版本識(shí)別的選項(xiàng)可以冠以--loose前綴(或在選項(xiàng)文件中用loose)。不能識(shí)別選項(xiàng)的程序版本將會(huì)發(fā)出一條警告并忽視該選項(xiàng)。

對(duì)mysql偶爾有用的另一個(gè)選項(xiàng)是-e或--execute選項(xiàng),可用來將SQL語句傳遞給服務(wù)器。
該語句必須用引號(hào)引起來(單引號(hào)或雙引號(hào))。(然而,如果想要在查詢中將值引起來,則對(duì)于查詢應(yīng)使用雙引號(hào),查詢中引用的值應(yīng)使用單引號(hào))。
當(dāng)使用該選項(xiàng)時(shí),語句被執(zhí)行,然后mysql立即退出命令外殼。

shell> mysql -u root -p -e "SELECT User, Host FROM User" mysql

請(qǐng)注意mysql數(shù)據(jù)庫名作為一個(gè)獨(dú)立的參量傳遞。
然而,相同的查詢可能已經(jīng)使用mysql -u root -p -e "SELECT User,Host FROM mysql.User"從外殼中執(zhí)行。

可以按這種方式傳遞多個(gè)SQL語句,用分號(hào)隔開:
shell> mysql -u root -p --execute="SELECT Name FROM Country WHERE Name LIKE 'AU%';SELECT COUNT(*) FROM City" world

請(qǐng)注意長(zhǎng)形式(--execute)后面必須緊跟一個(gè)等號(hào)(=)。
-e選項(xiàng)也可以以類似方式用來將命令傳遞給MySQL簇的ndb_mgm管理客戶端。

MySQL程序可以從選項(xiàng)文件(有時(shí)也稱為配置文件)讀取啟動(dòng)選項(xiàng)。
選項(xiàng)文件提供了一種很方便的方式來指定常用的選項(xiàng),因此不需要每次運(yùn)行程序時(shí)從命令行輸入。

下面的程序支持選項(xiàng)文件:myisamchk、myisampack、mysql、mysql.server、mysqladmin、mysqlbinlog、mysqlcc、mysqlcheck、mysqld_safe、mysqldump、mysqld、mysqlhotcopy、mysqlimport和mysqlshow。

注釋:在Unix平臺(tái)上,MySQL忽略人人可寫的配置文件。這是故意的,是一個(gè)安全措施。

任何可以在運(yùn)行MySQL程序時(shí)在命令行給出的長(zhǎng)選項(xiàng)也可以在選項(xiàng)文件中給出。要想列出程序的適用選項(xiàng),用--help選項(xiàng)運(yùn)行程序。

在選項(xiàng)文件中指定選項(xiàng)的語法類似于命令行語法,例外的是要忽略掉兩個(gè)破折號(hào)。例如,命令行中的--quick或--host=localhost在選項(xiàng)文件中應(yīng)指定為quick或host=localhost。要想在選項(xiàng)文件中指定--loose-opt_name形式的選項(xiàng),應(yīng)寫為loose-opt_name。

選項(xiàng)文件中的空行被忽略掉。非空行可以采用下面任何形式:

· #注釋,;注釋

注釋行以‘#’或‘;’開頭?!?’注釋也可以從行的中部開始。
· [group]

group是你想要設(shè)置選項(xiàng)的程序名或組名。在組行后面,任何opt_name或set-variable行適用于組名,直到選項(xiàng)文件結(jié)尾或給出其它組行。

· opt_name

等價(jià)于命令行中的--opt_name。

· opt_name=value

等價(jià)于命令行中的--opt_name=value。在選項(xiàng)文件中,‘=’字符附近可以有空格,而在命令行中是不允許的。你可以用單引號(hào)或雙引號(hào)來引用值。如果值包含一個(gè)‘#’注釋字符或空格時(shí)很有用。

選項(xiàng)名和值前后的空白將自動(dòng)刪除掉。你可以在選項(xiàng)值中使用轉(zhuǎn)義序列‘\b’、‘\t’、‘\n’、‘\r’、‘\\’以及‘\s’來表示退格、tab、換行符、回車以及空格字符。

從5.0系列的MySQL 5.0.4開始,可以在選項(xiàng)文件中使用!include指令來包括具體文件和!includedir來搜索選項(xiàng)文件的具體目錄。例如,要包括文件/home/mydir/myopt.cnf,可以使用:

!include /home/me/myopt.cnf
要搜索所有以.cnf結(jié)尾的文件的目錄/home/mydir并作為選項(xiàng)文件讀取,應(yīng)使用:

!includedir /home/mydir

請(qǐng)注意這些選項(xiàng)與節(jié)有關(guān)。例如,假定你想要使用my.cnf中的某些內(nèi)容,如下所示:

[mysqld]
!include /home/mydir/myopt.cnf
在這種情況下,只為該服務(wù)器處理文件myopt.cnf,并且!include指令將被客戶應(yīng)用程序忽略。然而,如果你使用下面的部分:

[mysqldump]
!includedir /home/mydir/my-dump-option
則只有mysqldump為以.cnf結(jié)尾的文件檢查目錄/home/mydir/my-dump-option,服務(wù)器或其它客戶應(yīng)用程序均不檢查。

注釋:目前,在Unix操作系統(tǒng)中,所發(fā)現(xiàn)的使用!includedir指令包括的文件的文件名必須以.cnf為擴(kuò)展名。
在Windows中,該指令也為有.ini擴(kuò)展名(包括.cnf)的文件做檢查。

如果你想要?jiǎng)?chuàng)建只由一個(gè)具體mysqld服務(wù)器發(fā)布系列讀取的選項(xiàng)組,選項(xiàng)組可以用[mysqld-5.0]、[mysqld-5.1]等名稱。
下面的組表示--new選項(xiàng)只能用于5.1.x 版本的MySQL服務(wù)器:

[mysqld-5.1]
new

下面是一個(gè)典型的全局選項(xiàng)文件:

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

[mysqldump]
quick

在上述的選項(xiàng)文件中,設(shè)置key_buffer_size和max_allowed_packet變量的行使用了var_name=value語法。

下面是一個(gè)典型的用戶選項(xiàng)文件:

[client]
# The following password will be sent to all standard MySQL clients
password="my_password"

[mysql]
no-auto-rehash
connect_timeout=2

[mysqlhotcopy]
interactive-timeout

注釋:在Windows中,可以不顯示.cnf選項(xiàng)文件的擴(kuò)展名。

所有支持選項(xiàng)文件的MySQL程序可以處理下面的命令行選項(xiàng):

· --no-defaults

不讀取任何選項(xiàng)文件。

· --print-defaults

打印從選項(xiàng)文件中獲得的程序名和所有選項(xiàng)。

· --defaults-file=path_name

只使用給出的選項(xiàng)文件。path_name是文件的全路徑名。

· --defaults-extra-file=path_name

在全局選項(xiàng)文件后但在用戶選項(xiàng)文件前讀該選項(xiàng)文件。path_name是文件的全路徑名。

在shell腳本中,可以使用my_print_defaults程序來分析選項(xiàng)文件。
下面的例子顯示了當(dāng)要求顯示[client]和[mysql]組內(nèi)發(fā)現(xiàn)的選項(xiàng)時(shí)my_print_defaults產(chǎn)生的輸出:

shell> my_print_defaults client mysql

要想用環(huán)境變量指定選項(xiàng),使用適用注釋處理器的語法來設(shè)置變量。例如,在Windows或NetWare中,可以設(shè)置USER變量來指定MySQL賬戶名。要想實(shí)現(xiàn),使用語法:

SET USER=your_name
在Unix中的語法取決于你的外殼。假定你想要使用MYSQL_TCP_PORT變量指定TCP/IP端口號(hào)。典型的語法為(例如sh、bash、zsh等等):

MYSQL_TCP_PORT=3306
export MYSQL_TCP_PORT
第1個(gè)命令設(shè)置變量,export命令將變量導(dǎo)出到外殼環(huán)境,以便其值可供MySQL和其它進(jìn)程訪問。

csh和tcsh有類似的問題。運(yùn)行這些外殼時(shí),使用setenv使外殼變量適用環(huán)境:

setenv MYSQL_TCP_PORT 3306

可以在命令提示符下執(zhí)行設(shè)置環(huán)境變量的命令,以便立即生效。這些設(shè)定值持續(xù)到你注銷。
要向讓這些設(shè)定值在你每次登錄時(shí)生效,將相應(yīng)命令放入每次啟動(dòng)時(shí)命令解釋符所讀的啟動(dòng)文件中。
在Windows中典型啟動(dòng)文件為AUTOEXEC.BAT,bash為.bash_profile,或者tcsh為.tcshrc。

許多MySQL程序有一些內(nèi)部變量可以在運(yùn)行時(shí)設(shè)置。程序變量的設(shè)置與帶有值的其它長(zhǎng)選項(xiàng)相同。例如,mysql有一個(gè)max_allowed_packet變量,可以控制其通信緩沖區(qū)的最大長(zhǎng)度。要想為mysql將max_allowed_packet變量的值設(shè)置為16MB,使用下面的任何一個(gè)命令:

shell> mysql --max_allowed_packet=16777216
shell> mysql --max_allowed_packet=16M
第1個(gè)命令以字節(jié)指定值。第2個(gè)命令以兆字節(jié)指定值。變量值可以有一個(gè)后綴K、M或者G(可以為大寫或小寫)來表示千字節(jié)、兆字節(jié)或者十億字節(jié)的單位。

在選項(xiàng)文件中,變量設(shè)定值沒有引導(dǎo)破折號(hào):

[mysql]
max_allowed_packet=16777216
或:

[mysql]
max_allowed_packet=16M
如果你喜歡,變量名的下劃線可以為破折號(hào)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/1406425891-z/archive/2013/05/18/3085005.html

超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的配置或者程序概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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