rm -rf mydir /* 刪除mydir目錄 */
cd mydir /* 進(jìn)入mydir目錄 */
cd – /* 回上一級(jí)目錄 */
cd ~ /* 回根目錄 */
mv tools tool /* 把tools目錄改名為tool */
ln -s tool bac
/* 給tool目錄創(chuàng)建名為bac的符號(hào)鏈接,最熟悉的應(yīng)該就是FTP中www鏈接到public_html目錄了 */
cp -a tool /home/leavex/www /* 把tool目錄下所有文件復(fù)制到www目錄下 */
rm go.tar /* 刪除go.tar文件 */
find mt.cgi /* 查找文件名為mt.cgi的文件 */
df –h /* 查看磁盤剩余空間,好像沒這個(gè)必要,除非你太那個(gè)了 */
tar xvf wordpress.tar /* 解壓tar格式的文件 */
tar -tvf myfile.tar /* 查看tar文件中包含的文件 */
gzip -d ge.tar.gz /* 解壓.tar.gz文件為.tar文件 */
unzip phpbb.zip /* 解壓zip文件,windows下要壓縮出一個(gè).tar.gz格式的文件還是有點(diǎn)麻煩的 */
tar cf toole.tar tool /* 把tool目錄打包為toole.tar文件 */
tar cfz geek.tar.gz tool
/* 把tool目錄打包且壓縮為geek.tar.gz文件,因?yàn)?tar文件幾乎是沒有壓縮過的,MT的.tar.gz文件解壓成.tar文件后差不多是10MB */
wget http://www.sevenapart.com/download/wp.tar.gz
/*下載遠(yuǎn)程服務(wù)器上的文件到自己的服務(wù)器,連上傳都省了,服務(wù)器不是100M就是1000M的帶寬,下載一個(gè)2-3兆的MT還不是幾十秒的事 */
wget -c http://www.eightapart.com/undone.zip
/* 繼續(xù)下載上次未下載完的文件 */
tar cfz geek.tar.gz tool
/* 把tool目錄打包且壓縮為geek.tar.gz文件,因?yàn)?tar文件幾乎是沒有壓縮過的,MT的.tar.gz文件解壓成.tar文件后差不多是10MB */
還有一些是VIM里要用到的,也羅列出來吧!
移動(dòng)類的:
h/j/k/l: 左/下/上/右 移一格
w : 向后詞移動(dòng) (前面加數(shù)字移動(dòng)多少個(gè)詞)
b : 向前詞移動(dòng) (前面加數(shù)字移動(dòng)多少個(gè)詞)
e : 向后移到詞末
ge : 向前移到詞末
$ : 行末
0 : 行首
tx : 向右查找本行的x并移到那兒(大寫時(shí)向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件尾行
33% : 文件的33%處
H/M/L : 屏幕的首/中/尾行
zt/zz/zb : 當(dāng)前行移到屏幕的首/中/底部
跳轉(zhuǎn):
” : 回到跳轉(zhuǎn)來的地方
CTRL-O : 跳到一個(gè) “較老” 的地方
CTRL-I : 則跳到一個(gè) “較新” 的地方
查找:
/ : 向下查找(后加關(guān)鍵字)
? : 向上查找(后加關(guān)鍵字)
n : 下一條符合的記錄
編輯:
i : 轉(zhuǎn)換到插入模式
x : 刪除當(dāng)前字符
. : 重復(fù)最后一次的修改操作(同PS里ctrl+f執(zhí)行濾鏡)
u : 撤銷操作
CTRL-R : 重做
p : 將刪除的字符插入到當(dāng)前位置(put)
退出保存:
:q : 退出
:q! : 不保存退出
ZZ : 保存后退出
:e! : 放棄修改重新編輯
退出SSH后,繼續(xù)運(yùn)行!
#nohup wget http://www.phpv.net/file.tar.gz &
wget是一個(gè)Linux環(huán)境下用于從World Wide Web上提取文件的工具,這是一個(gè)GPL許
可證
下的自由軟件,其作者為Hrvoje Niksic 。wget支持HTTP和
FTP協(xié)議
,支持代理服務(wù)器和斷點(diǎn)續(xù)傳功能,能夠自動(dòng)遞歸遠(yuǎn)程主機(jī)的目錄,找到合乎條件
的文
件并將其下載到本地硬盤上;如果必要,wget將恰當(dāng)?shù)剞D(zhuǎn)換頁面中的超級(jí)連接以在
本地
生成可瀏覽的鏡像。由于沒有交互式界面,wget可在后臺(tái)運(yùn)行,截獲并忽略
HANGUP信號(hào)
,因此在用戶推出登錄以后,仍可繼續(xù)運(yùn)行。通常,wget用于成批量地下載
Internet網(wǎng)
站上的文件,或制作遠(yuǎn)程網(wǎng)站的鏡像。
語法:
wget [options] [URL-list]
URL地址格式說明:可以使用如下格式的URL:
http://host[:port]/path
例如:
http://fly.cc.fer.hr/
ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
ftp://username:password@host/dir/file
在最后一種形式中,以URL編碼形式為FTP主機(jī)提供了用戶名和密碼(當(dāng)然,也可以
使用
參數(shù)提供該信息,見后)。
參數(shù)說明:
wget的參數(shù)較多,但大部分應(yīng)用只需要如下幾個(gè)常用的參數(shù):
-r 遞歸;對(duì)于HTTP主機(jī),wget首先下載URL指定的文件,然后(如果該文
件是
一個(gè)HTML文檔的話)遞歸下載該文件所引用(超級(jí)連接)的所有文件(遞歸深度由
參數(shù)
-l指定)。對(duì)FTP主機(jī),該參數(shù)意味著要下載URL指定的目錄中的所有文件,遞歸方
法與
HTTP主機(jī)類似。
-N 時(shí)間戳:該參數(shù)指定wget只下載更新的文件,也就是說,與本地目錄中
的對(duì)
應(yīng)文件的長(zhǎng)度和最后修改日期一樣的文件將不被下載。
-m 鏡像:相當(dāng)于同時(shí)使用-r和-N參數(shù)。
-l 設(shè)置遞歸級(jí)數(shù);默認(rèn)為5。-l1相當(dāng)于不遞歸;-l0為無窮遞歸;注意,
當(dāng)遞
歸深度增加時(shí),文件數(shù)量將呈指數(shù)級(jí)增長(zhǎng)。
-t 設(shè)置重試次數(shù)。當(dāng)連接中斷(或超時(shí))時(shí),wget將試圖重新連接。如
果指
定-t0,則重試次數(shù)設(shè)為無窮多。
-c 指定斷點(diǎn)續(xù)傳功能。實(shí)際上,wget默認(rèn)具有斷點(diǎn)續(xù)傳功能,只有當(dāng)你使
用別
的ftp工具下載了某一文件的一部分,并希望wget接著完成此工作的時(shí)候,才需要
指定
此參數(shù)。
使用舉例:
wget -m -l4 -t0 http://oneweb.com.cn/
將在本地硬盤建立http://oneweb.com.cn/的鏡像,鏡像文件存入當(dāng)前目錄下一個(gè)
名為
oneweb.com.cn的子目錄中(你也可以使用-nH參數(shù)指定不建立該子目錄,而直接在
當(dāng)前
目錄下建立鏡像的目錄結(jié)構(gòu)),遞歸深度為4,重試次數(shù)為無窮(若連接出現(xiàn)問題
,
wget將堅(jiān)韌不拔地永遠(yuǎn)重試下去,知道任務(wù)完成!)
另外一些使用頻率稍低的參數(shù)如下:
-A acclist / -R rejlist:
這兩個(gè)參數(shù)用于指定wget接受或排除的文件擴(kuò)展名,多個(gè)名稱之間用逗號(hào)隔開。例
如,
假設(shè)我們不想下載MPEG視頻影像文件和.AU聲音文件,可使用如下參數(shù):
-R mpg,mpeg,au
其它參數(shù)還有:
-L 只擴(kuò)展相對(duì)連接,該參數(shù)對(duì)于抓取指定站點(diǎn)很有用,可以避免向宿主
主機(jī)
的其他目錄擴(kuò)散。例如,某個(gè)人網(wǎng)站地址為:http://www.xys.org/~ppfl/,使用
如下
命令行:
wget -L http://www.xys.org/~ppfl/
則只提取該個(gè)人網(wǎng)站,而不涉及主機(jī)www.xys.org上的其他目錄。
-k 轉(zhuǎn)換連接:HTML文件存盤時(shí),將其中的非相對(duì)連接轉(zhuǎn)換成為相對(duì)連接。
-X 在下載FTP主機(jī)上的文件時(shí),排除若干指定的目錄
另外,下面參數(shù)用于設(shè)置wget的工作界面:
-v 設(shè)置wget輸出詳細(xì)的工作信息。
-q 設(shè)置wget不輸出任何信息。
如果我們已經(jīng)在一個(gè)HTML文檔(或普通文本文檔)中存儲(chǔ)了所要提取的文件的連接
,可
以讓wget直接從該文件中提取信息,而不用在命令行中提供URL地址,參數(shù)格式為
:
-i filename
地址文件也可以不是HTML文檔,例如,一個(gè)普通的文本文件,其中有需要下載的
URL列
表即可。
我們可以用以下技巧提高下載速度:由于Linux是一個(gè)多任務(wù)系統(tǒng),我們可以同時(shí)
運(yùn)行
多個(gè)wget進(jìn)程以提高下載速度,例如,先下載某主頁文件(index.html),然后將
該文
件所列出的所有地址分別用一個(gè)獨(dú)立的wget進(jìn)程進(jìn)行下載。
至于其他的參數(shù),可參考wget的man手冊(cè)頁,命令為:
man wget
Post in LAMP | No Comments »
DreamHost中shell使用指南
01月 28th, 2008
DreamHost中shell使用指南
1. Basic Instructions基本操作命令
通常來說,使用”$[Instructions] –help”可以獲得以下各個(gè)命令[instructions]的幫助,包含其參數(shù)列表的定義。
-ls 列出當(dāng)前文件夾下所有內(nèi)容
$ls -o 列出當(dāng)前文件夾中所有內(nèi)容,含詳細(xì)信息,但不列出group
$ls -l 同上,含group信息
$ls -a 列出當(dāng)前文件夾中所有內(nèi)容,包含以”.”開頭的文件
$ls -t 按更改時(shí)間排序
$ls -v 按版本先后排序
-cd [dir] 進(jìn)入文件夾
-pwd 顯示當(dāng)前路徑
-mkdir [dir] 新建文件夾
-chmod 更改文件/文件夾權(quán)限
$chmod [Mode] [dir],其中Mode形如”755″或”777″等。
$chmod [Mode] [file]
$chmod -R [Mode] [dir],遞歸形式,即將目標(biāo)文件夾內(nèi)所有文件均改變權(quán)限
Mode還有另一種表達(dá)方式,”755″即為”-rwxr-xr-x”,不列舉了。
-rm [file] 刪除文件/文件夾
$rm -f [file] 強(qiáng)行刪除,忽略不存在的文件,無提示
$rm -r [file] 遞歸刪除所有內(nèi)容
-cp 拷貝
$cp [options] [source] [destination]
其中[options]可以為-f(強(qiáng)行拷貝)或-r(遞歸拷貝)
-mv 重命名或移動(dòng)
$mv [options] [source] [destination]
[options]常用:-f(強(qiáng)行移動(dòng)/重命名), -i(移動(dòng)/重命名前嘗試), -u(更新)
例如
$mv wwwroot/cgi-bin . 將/cgi-bin目錄移動(dòng)到當(dāng)前目錄下
$mv cronfile.txt myfile.txt 將cronfile.txt重命名為myfile.txt
2. wget下載工具
wget是一種非交互式的網(wǎng)絡(luò)文件下載工具,在linux下可以使用該工具快速地從網(wǎng)絡(luò)上下載所需要的文件而不需要經(jīng)由本地硬盤中轉(zhuǎn),而且速度極快。以下是一些使用方法:
wget [參數(shù)列表] URL
最簡(jiǎn)單的用法:
$wget http://targetdomain.com/file.tar
wget的常用參數(shù):
· -t [nuber of
times]:嘗試次數(shù),當(dāng)wget無法與服務(wù)器建立連接時(shí),嘗試連接多少次。比如”-t120″表示嘗試120次。當(dāng)這一項(xiàng)為”0″的時(shí)候,指定嘗試無
窮多次直到連接成功為止,這個(gè)設(shè)置非常有用,當(dāng)對(duì)方服務(wù)器突然關(guān)機(jī)或者網(wǎng)絡(luò)突然中斷的時(shí)候,可以在恢復(fù)正常后繼續(xù)下載沒有傳完的文件;
·
-c:斷點(diǎn)續(xù)傳,這也是個(gè)非常有用的設(shè)置,特別當(dāng)下載比較大的文件的時(shí)候,如果中途意外中斷,那么連接恢復(fù)的時(shí)候會(huì)從上次沒傳完的地方接著傳,而不是又從
頭開始,使用這一項(xiàng)需要遠(yuǎn)程服務(wù)器也支持?jǐn)帱c(diǎn)續(xù)傳,一般來講,基于UNIX/linux的Web/FTP服務(wù)器都支持?jǐn)帱c(diǎn)續(xù)傳;
· -T [number of
seconds]:超時(shí)時(shí)間,指定多長(zhǎng)時(shí)間遠(yuǎn)程服務(wù)器沒有響應(yīng)就中斷連接,開始下一次嘗試。比如”-T120″表示如果120秒以后遠(yuǎn)程服務(wù)器沒有發(fā)過來
數(shù)據(jù),就重新嘗試連接。如果網(wǎng)絡(luò)速度比較快,這個(gè)時(shí)間可以設(shè)置的短些,相反,可以設(shè)置的長(zhǎng)一些,一般最多不超過900,通常也不少于60,一般設(shè)置在
120左右比較合適;
· -w [number of seconds]:在兩次嘗試之間等待多少秒,比如”-w 100″表示兩次嘗試之間等待100秒;
· -nd:不下載目錄結(jié)構(gòu),把從服務(wù)器所有指定目錄下載的文件都堆到當(dāng)前目錄里;
· -x:與”-nd”設(shè)置剛好相反,創(chuàng)建完整的目錄結(jié)構(gòu),例如”wget -nd http://www.gnu.org/ “,實(shí)際的目錄結(jié)構(gòu)一級(jí)一級(jí)建下去,直到所有的文件都傳完為止;
· -nH:不創(chuàng)建以目標(biāo)主機(jī)域名為目錄名的目錄,將目標(biāo)主機(jī)的目錄結(jié)構(gòu)直接下到當(dāng)前目錄下;
· -r:遞歸下載,在本機(jī)建立服務(wù)器端目錄結(jié)構(gòu);
· -l [depth]:下載遠(yuǎn)程服務(wù)器目錄結(jié)構(gòu)的深度,例如”-l 5″下載目錄深度小于或者等于5以內(nèi)的目錄結(jié)構(gòu)或者文件;
· -m:做站點(diǎn)鏡像時(shí)的選項(xiàng),如果你想做一個(gè)站點(diǎn)的鏡像,使用這個(gè)選項(xiàng),它將自動(dòng)設(shè)定其他合適的選項(xiàng)以便于站點(diǎn)鏡像;
· -np:只下載目標(biāo)站點(diǎn)指定目錄及其子目錄的內(nèi)容。這也是一個(gè)非常有用的選項(xiàng),我們假設(shè)某個(gè)人的個(gè)人主頁里面有一個(gè)指向這個(gè)站點(diǎn)其他人個(gè)人主頁的連接,而我們只想下載這個(gè)人的個(gè)人主頁,如果不設(shè)置這個(gè)選項(xiàng),甚至–有可能把整個(gè)站點(diǎn)給抓下來,這顯然是我們通常不希望的;
· –http-user=username
· –http-passwd=password:如果Web服務(wù)器需要指定用戶名和口令,用這兩項(xiàng)來設(shè)定;
· -O 將數(shù)據(jù)寫入文件中。
3. Crontab 定時(shí)執(zhí)行任務(wù)
在DreamHost系統(tǒng)下, 通過Shell可以建立自己的crontab. 具體使用如下:
使用支持shell登錄的終端(如fterm或putty), 地址欄輸入 username@hostguide.cn:22即可以SSH方式登錄至服務(wù)器.
常用的crontab命令:
crontab -l 顯示所有現(xiàn)存cron job.
crontab -r 刪除當(dāng)前cron jobs.
crontab -e 編輯當(dāng)前 “crontab file”. DH推薦使用nano
注意你的crontab包含所有的cron jobs, 每個(gè)cron一行, 斷行結(jié)尾. 一個(gè)正常的cron如下所示:
45 2 * * * /home/user/script.pl
第一個(gè)數(shù)字是每小時(shí)的第幾分鐘,
第二個(gè)數(shù)字是每天的第幾小時(shí),
第三個(gè)數(shù)字是每月的第幾天,
第四個(gè)數(shù)字是每年的第幾月,
第五個(gè)數(shù)字是每周的第幾天.
使用方式例如:
32 * * * * : 表示每小時(shí)的第32分鐘.
12,42 * * * * : 表示每小時(shí)的第12及第42分鐘兩次
*/15 */2 * * *: 表示0:00, 0:15, 0:30, 0:45, 2:00, 2:15, 2:30, …
43 18 * * 7: 表示每個(gè)周日的6:43pm運(yùn)行命令行.
在DreamHost下使用nano編輯完文件后,使用ctrl+o保存,ctrl+x退出編輯。
4. tar命令
tar命令的使用方法如下:
tar [參數(shù)列表] [文件名]
參數(shù)列表:
-c 生成新的備份,并同時(shí)覆蓋舊的備份文件
-x 從備份文件中解壓縮
-t 列出備份文件內(nèi)的文件目錄
-v 顯示所有被操作文件列表
-f 在指定位置生成備份
-u 將不存在于備份中的文件,或?qū)⒁呀?jīng)被更改的文件加入該備份中。
舉例說明:
tar cvf filename.tar /*制作備份*/
tar cvf tarfile.tar ./filename /*將filename的文件備份到tarfile.tar里面*/
tar tvf filename.tar /*列出tar文檔的內(nèi)容*/
tar xvf filename.tar /*從tar文檔中導(dǎo)出文件*/
tar zxpvf filename.tar.gz /*從tar.gz文檔中導(dǎo)出文件*/
tar zxvf filename.tar.gz /*同上*/
tar xvf tarfile.tar ./filename /*導(dǎo)出tar文件中的單個(gè)文件*/
5. vi編輯器
Linux下很易用的一種編輯器,只需要稍微知道幾個(gè)指令即可應(yīng)用。
打開vi:
$vi [filename]:打開或新建文件,并將光標(biāo)置于第一行首
$vi +n [filename] :打開文件,并將光標(biāo)置于第n行首
$vi + [filename] :打開文件,并將光標(biāo)置于最后一行首
$vi +/pattern [filename]:打開文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處
$vi -r [filename] :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
$vi [filename]….[filename] :打開多個(gè)文件,依次編輯
如果filename不存在,則自動(dòng)生成一個(gè)名字filename的新文件。
vi共有兩種狀態(tài):命令狀態(tài)/編輯狀態(tài)
編輯狀態(tài)下:
第一次按下insert鍵為”insert”模式,再按一下為”replace”模式,使用ESC返回命令狀態(tài);
在此狀態(tài)下鍵盤的PgUp/PgDn/Insert/Delete/Home/End/方向鍵,均處于正常功能狀態(tài)。
命令狀態(tài)下:
輸入的字符串作為命令處理,使用”insert”鍵切換到編輯狀態(tài);
以下是命令狀態(tài)下的命令清單:
移動(dòng)光標(biāo)類命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字j至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕最后行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。
插入文本類命令
i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開一行
O:在當(dāng)前行之上新開一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開始,以輸入的文本替代指定數(shù)目的字符
S:刪除指定數(shù)目的行,并以所輸入文本代替之
ncw或nCW:修改指定數(shù)目的字
nCC:修改指定數(shù)目的行
刪除命令
ndw或ndW:刪除光標(biāo)處開始及其后的n-1個(gè)字
do:刪至行首
d$:刪至行尾
ndd:刪除當(dāng)前行及其后n-1行
x或X:刪除一個(gè)字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的
Ctrl+u:刪除輸入方式下所輸入的文本
搜索及替換命令 :
/pattern:從光標(biāo)開始處向文件尾搜索pattern
?pattern:從光標(biāo)開始處向文件首搜索pattern
n:在同一方向重復(fù)上一次搜索命令
N:在反方向上重復(fù)上一次搜索命令
:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換
選項(xiàng)設(shè)置
all:列出所有選項(xiàng)設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號(hào)
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡(jiǎn)短的警告信息
warn:在轉(zhuǎn)到別的文件時(shí)若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“"”的特殊字符
nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
最后行方式命令
:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除
:w :保存當(dāng)前文件
:e filename:打開文件filename進(jìn)行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指
定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行 。Adminis
Post in LAMP | No Comments »
mysql的一些亂七八糟的東西
01月 27th, 2008
mysql的一些亂七八糟的東西 使用MYSQL半年,自己經(jīng)常用的東西- -
Mysql –h192.168.0.110 –uks –p –P4444登錄
Mysqladmin –h192.168.0.110-uks –p reload重新加載用戶表
Mysqldump –R –h192.168.0.110 –uks –p test>c:/test.sql備份
Mysql –h192.168.0.110 –uks –p test
Windows下net stop mysql關(guān)閉服務(wù)
Net start mysql 開啟服務(wù)
Linux下 service mysql stop關(guān)閉
Service mysql start 開啟
Service mysql restart重啟服務(wù)
Linux下開機(jī)自動(dòng)啟動(dòng)mysql
#>chkconfig –add mysql 開機(jī)啟動(dòng)
Chkconfig –del mysql 關(guān)閉自動(dòng)啟動(dòng)
Chkconfig – -list 查看服務(wù)啟動(dòng)情況
Mysql命令行下
Explain select……..查看該SELECT語句信息
Show variables查看系統(tǒng)變量
Show status 常看當(dāng)前服務(wù)器狀態(tài)
Show databases;
Show tables;
Show processlist
Show warnings;(查看最近一個(gè)警告或錯(cuò)誤)
Set global xxxx=xxxx;
Flush ……清楚mysql使用的部分內(nèi)部緩存
Information_schema.tables表信息
Mysql動(dòng)態(tài)語句5.1
只支持create table,delete,do ,insert,replace,select set ,update語句
Describe tablename查看該表結(jié)構(gòu)
Optimize table XXX 清理該表中已刪除的鏈接(可以釋放一些資源)
Source c:abc.sql 在MYSQL命令行中執(zhí)行腳本
Select
Create
Insert
Update
Alter
Grant
revoke
就不說了= =
Mysql 數(shù)據(jù)庫名最長(zhǎng) 64位字符串
表名….. 64位字符串
字段名……. 64位字符串
用戶名…….. 16位字符串
密碼……… 貌似沒限制
Handler(很牛X的東東)
Handler testt open as abc;
Handler abc read id=(123456);
Handler abc close;
Benchmark(n,expr)執(zhí)行N次EXPR并測(cè)算時(shí)間
Post in LAMP | No Comments »
MYSQL在命令行創(chuàng)建存儲(chǔ)過程
01月 27th, 2008
MYSQL在命令行創(chuàng)建存儲(chǔ)過程 如何在MYSQL命令行創(chuàng)建存儲(chǔ)過程
今天早上在百度知道碰到這個(gè)問題,我開始沒看明白…….后來才知道提問人的意思是要在命令行下創(chuàng)建存儲(chǔ)過程。很感謝這個(gè)問題,因?yàn)槲乙膊粫?huì)呵呵,我一直都用EMS創(chuàng)建這些東西…….
我也嘗試了一些方法,但是第一個(gè)分號(hào)mysql就以為語句結(jié)束了,就拿那個(gè)例子來說:
CREATE PROCEDURE p7 (IN b INTEGER(12))
begin
declare a INTEGER(12);
set a=5;
INSERT INTO t VALUES (a);
SELECT s1*a FROM t WHERE b<=s1;
End
這個(gè)存儲(chǔ)過程,在命令行直接創(chuàng)建的話,在第三排你輸入分號(hào)后就報(bào)錯(cuò)了……因?yàn)镸YSQL以為這個(gè)語句結(jié)束了,那對(duì)于MYSQL而言
CREATE PROCEDURE p7 (IN b INTEGER(12))
begin
declare a INTEGER(12);
肯定是個(gè)錯(cuò)誤語句。
然后看了些東西,原來要加分隔符- -……….
DELIMITER //
CREATE PROCEDURE p7 (IN b INTEGER(12))
begin
declare a INTEGER(12);
set a=5;
INSERT INTO t VALUES (a);
SELECT s1*a FROM t WHERE b<=s1;
End
//
就OK了…………意思就是說在//……//之間的當(dāng)成一個(gè)語句執(zhí)行所以MYSQL接到的才是這個(gè)存儲(chǔ)過程完整的創(chuàng)建語句。
Post in LAMP | No Comments »
mysql 基本命令
01月 27th, 2008
基礎(chǔ)介紹:
1.在linux下使用下列命令,請(qǐng)確認(rèn)mysql的bin目錄是否已經(jīng)加入到PATH路徑中,或者是已經(jīng)進(jìn)入到mysql安裝路徑下的bin目錄
查看PATH
shell> echo $PATH
或者
shell> cd /usr/local/mysql/bin
2.windows下,請(qǐng)運(yùn)行cmd后,同樣檢查mysql的bin目錄是否已加入到系統(tǒng)的PATH路徑中,或直接進(jìn)入mysql的安裝目錄
下面所有操作都是確認(rèn)你以檢查mysql的bin目錄已加入到系統(tǒng)的PATH路徑中,或已經(jīng)進(jìn)入mysql的安裝目錄的bin目錄下
1]如何創(chuàng)建mysqld數(shù)據(jù)庫的管理用戶?
數(shù)據(jù)庫安裝好后,我們應(yīng)該為mysql數(shù)據(jù)庫創(chuàng)建一個(gè)管理帳號(hào)。要把root用戶設(shè)置為管理員,我們應(yīng)該運(yùn)行下面的命令;
shell> mysqladmin -u root password 123456
通過上面的命令,我們可以知道,mysql數(shù)據(jù)庫的管理員是root,密碼是123456。
2]如何進(jìn)入mysql數(shù)據(jù)庫?以mysql數(shù)據(jù)庫管理員root,密碼為123456為例;
shell> mysql -uroot -p123456
輸出上面的命令后,出現(xiàn)的是如下的提示;
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 6 to server version: 3.23.58
Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer.
mysql>
注意:操作這些命令的時(shí)候,應(yīng)該把mysqld服務(wù)器打開。這些新手兄弟早就知道了吧:)
3]如何在數(shù)據(jù)庫中操作命令呢,我想這是mysql手冊(cè)都有的,我主要說幾個(gè)要注意的地方。其實(shí)我也會(huì)不了幾個(gè)命令。如果自己想學(xué)的弟兄,也不是什么難事;在windows中操作過mysql的,其實(shí)在這里也是一樣的,mysql是跨平臺(tái)的數(shù)據(jù)庫,用法都是相同的。
在mysql數(shù)據(jù)庫中,每操作一個(gè)命令,都是;號(hào)結(jié)尾的,可能有的新手弟兄,忘記輸入了;號(hào)結(jié)尾,結(jié)果退不出來。:):)
1]查看mysql中都有哪些數(shù)據(jù)庫?
代碼:
mysql>
show databases;
+———-+
| Database |
+———-+
| mysql |
| test |
+———-+
2 rows in set (0.00 sec) mysql>
在mysql安裝好,設(shè)置好管理員后,第一次進(jìn)入系統(tǒng),我們用show databases;命令查看數(shù)據(jù)庫的列表,發(fā)現(xiàn)有兩個(gè)數(shù)據(jù)庫,mysql和test,這是系統(tǒng)自建的,是讓大家練習(xí)用的。
4]如何創(chuàng)建和刪除一個(gè)數(shù)據(jù)庫?
比如我要?jiǎng)?chuàng)建一個(gè)名為linux的數(shù)據(jù)庫,應(yīng)該運(yùn)行如下命令
mysql> create database [數(shù)據(jù)庫名];
所以我們應(yīng)該運(yùn)行如下的命令,來創(chuàng)建名為linux的數(shù)據(jù)庫
mysql> create database linux;
Query OK, 1 row affected (0.00 sec)
是不是建好了呢??肯定是建好了,因?yàn)槎加蠴K了:)
查看是不是有l(wèi)inux這個(gè)數(shù)據(jù)庫了呢?
代碼:
mysql> show databases;
+———-+
| Database |
+———-+
| linux |
| mysql |
| test |
+———-+
3 rows in set (0.00 sec)
那我們?nèi)绾蝿h除一個(gè)數(shù)據(jù)庫呢??
mysql> drop database [數(shù)據(jù)庫名];
比如我們要把剛才創(chuàng)建的linux數(shù)據(jù)庫刪除,應(yīng)該用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)
是不是已經(jīng)刪除了呢??
代碼:
mysql> show databases;
+———-+
| Database |
+———-+
| mysql |
| test |
+———-+
2 rows in set (0.00 sec)
5]如何操作一個(gè)數(shù)據(jù)庫呢,這個(gè)問題就比較多了,建議還是看一下mysql的手冊(cè)吧。里面的東西太多了。如果操作一個(gè)數(shù)據(jù)庫,首先是要指定一個(gè)數(shù)據(jù)庫為當(dāng)前數(shù)據(jù)庫,應(yīng)該用use命令
mysql>use [數(shù)據(jù)庫];
比如我想指定linux這個(gè)數(shù)據(jù)庫為當(dāng)前數(shù)據(jù)庫,應(yīng)該是
mysql> use linux;
Database changed
6]如何備份數(shù)據(jù)庫??
比如我們要備份mysql中已經(jīng)存在的名為linux的數(shù)據(jù)庫,要用到命令mysqldump
命令格式如下:
shell> mysqldump -uroot -p linux > /root/linux.sql
Enter password:在這里輸入數(shù)據(jù)庫的密碼
通過上面的命令,我們要明白兩件事,首先備份數(shù)據(jù)庫是要以數(shù)據(jù)庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實(shí)備份的位置和文件名,根據(jù)自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;
比如我想把linux的數(shù)據(jù)庫備份到/home/beinan,數(shù)據(jù)庫的文件名為linuxsir031130.sql,所以應(yīng)該輸入如下的命令。
shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在這里輸入數(shù)據(jù)庫管理員root的數(shù)據(jù)庫密碼
這樣我們到/home/beinan目錄下就能發(fā)現(xiàn)mysql中名為linux的數(shù)據(jù)庫的備份文件linuxsir031130.sql
綜上所述,我們學(xué)習(xí)時(shí)要學(xué)會(huì)變通。:):)
5]如何把把備份的數(shù)據(jù)庫導(dǎo)入到數(shù)據(jù)庫中?
首先我們還是要操作上面幾個(gè)過程,比如添加數(shù)據(jù)庫管理員(如果您沒有添加過mysql數(shù)據(jù)庫管理員的話),創(chuàng)建數(shù)據(jù)庫等。
比如我們要把在/home/beinan這個(gè)目錄中的linuxsir031130.sql這個(gè)備份,導(dǎo)入名為linux的數(shù)據(jù)庫中,應(yīng)該如下操作;
shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在這里輸入密碼
如果機(jī)器好,數(shù)據(jù)庫比較小,幾分鐘就好了。
6]其它一些比較常用的mysql指令;
查看狀態(tài)
mysql> show status;
查看進(jìn)程
代碼:
mysql> show processlist;
+—-+——+———–+——+———+——+——-+——————+| Id | User | Host | db | Command | Time | State | Info |
+—-+——+———–+——+———+——+——-+——————+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+—-+——+———–+——+———+——+——-+——————+
1 row in set (0.00 sec)
查看表,應(yīng)該先指定一個(gè)數(shù)據(jù)庫為當(dāng)前數(shù)據(jù)庫;比如是名為linux的數(shù)據(jù)庫;
mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)
7]對(duì)mysql數(shù)據(jù)庫常用命令的一點(diǎn)補(bǔ)充;
幾個(gè)常用的mysql相關(guān)的管理命令
mysql 命令:基本文本的,顯示和使用的mysql數(shù)據(jù)庫。前面已經(jīng)簡(jiǎn)單的提過用法;比如登錄等。
mysqladmin 命令,用來創(chuàng)建和維護(hù)mysql數(shù)據(jù)庫的命令,前面已經(jīng)簡(jiǎn)單的提過;
isamchk 是用來修復(fù)、檢查和優(yōu)化.ism后綴的數(shù)據(jù)庫文件;
mysqldump 是用于備份數(shù)據(jù)庫,前面已經(jīng)簡(jiǎn)單的說明過;
myisamchk 用來修復(fù).myi后綴的數(shù)據(jù)庫文件;
比如我們要檢查名為linux的數(shù)據(jù)庫.myi數(shù)據(jù)庫表是否存在問題,應(yīng)該用下面的命令;
要把mysqld服務(wù)器停下來
shell> ../share/mysql.server stop
然后執(zhí)行
shell> myisamchk ../var/linux/*.MYI
上面的命令的意思就是檢查所有的.myi文件,數(shù)據(jù)庫的目錄在../var/linux/目錄中
如果有問題,應(yīng)該用-r參數(shù)來修復(fù)
shell> myisamchk -r ../var/linux/*.MYI
6]mysqlshow 命令:顯示用戶選擇的數(shù)據(jù)庫和表
shell> mysqlshow -uroot -p [數(shù)據(jù)庫名]
比如我要查看名為linux的數(shù)據(jù)庫;應(yīng)該是:
shell> mysqlshow -uroot -p linux
好了,到這里,你可能已經(jīng)知道命令行下的所有基本操作了~
ps:補(bǔ)充一個(gè)。。
更改ROOT帳號(hào)名。
update set user=”新名字” where user=”舊名字”;
自己補(bǔ)充:
在windows中的關(guān)閉mysql命令 net stop mysql ;啟動(dòng)是net start mysql
OPTIMIZE TABLE “;優(yōu)化表
Post in LAMP | No Comments »
ib_logfile0和ib_logfile1,為INNODB數(shù)據(jù)LOG文件
01月 27th, 2008
ASK: 我的系統(tǒng)是windows2003,最近裝了MYSQL5.0后發(fā)現(xiàn)C盤容量劇減,后來仔細(xì)檢查了一下,發(fā)現(xiàn)ib_logfile0和
ib_logfile1竟然用了600多M,現(xiàn)在C盤8G的空間就剩余200M了,請(qǐng)問我要怎樣轉(zhuǎn)移ib_logfile0和ib_logfile1文件
到D盤呢?
DA: ib_logfile0和ib_logfile1,為INNODB數(shù)據(jù)LOG文件,先停下數(shù)據(jù)庫.
將這三個(gè)文件拷到它處
修改MY.INI配置文件, 參數(shù)改為新目錄
—————————
innodb_log_group_home_dir
The directory path to the InnoDB log files. It must have the same
value as innodb_log_arch_dir. If you do not specify any InnoDB log
parameters, the default is to create two 5MB files names ib_logfile0
and ib_logfile1 in the MySQL data directory.
————
再啟動(dòng)
不過有個(gè)問題,LOG文件是固定不變,用來存儲(chǔ)未提交的數(shù)據(jù),一般設(shè)為幾十兆就可以了,你的是否設(shè)置有問題.
from: