Linux SSH 命令大全

rm -rf mydir /* 刪除mydir目錄 */
cd mydir /* 進入mydir目錄 */
cd – /* 回上一級目錄 */
cd ~ /* 回根目錄 */
mv tools tool /* 把tools目錄改名爲tool */
ln -s tool bac

/* 給tool目錄創建名爲bac的符號鏈接,最熟悉的應該就是FTP中www鏈接到public_html目錄了 */

cp -a tool /home/leavex/www /* 把tool目錄下所有文件複製到www目錄下 */
rm go.tar /* 刪除go.tar文件 */
find mt.cgi /* 查找文件名爲mt.cgi的文件 */
df –h /* 查看磁盤剩餘空間,好像沒這個必要,除非你太那個了 */
tar xvf wordpress.tar /* 解壓tar格式的文件 */
tar -tvf myfile.tar /* 查看tar文件中包含的文件 */
gzip -d ge.tar.gz /* 解壓.tar.gz文件爲.tar文件 */
unzip phpbb.zip /* 解壓zip文件,windows下要壓縮出一個.tar.gz格式的文件還是有點麻煩的 */
tar cf toole.tar tool /* 把tool目錄打包爲toole.tar文件 */
tar cfz geek.tar.gz tool
/* 把tool目錄打包且壓縮爲geek.tar.gz文件,因爲.tar文件幾乎是沒有壓縮過的,MT的.tar.gz文件解壓成.tar文件後差不多是10MB */

wget http://www.sevenapart.com/download/wp.tar.gz
/*下載遠程服務器上的文件到自己的服務器,連上傳都省了,服務器不是100M就是1000M的帶寬,下載一個2-3兆的MT還不是幾十秒的事 */
wget -c http://www.eightapart.com/undone.zip
/* 繼續下載上次未下載完的文件 */

tar cfz geek.tar.gz tool
/* 把tool目錄打包且壓縮爲geek.tar.gz文件,因爲.tar文件幾乎是沒有壓縮過的,MT的.tar.gz文件解壓成.tar文件後差不多是10MB */

還有一些是VIM裏要用到的,也羅列出來吧!

移動類的:
h/j/k/l: 左/下/上/右 移一格
w : 向後詞移動 (前面加數字移動多少個詞)
b : 向前詞移動 (前面加數字移動多少個詞)
e : 向後移到詞末
ge : 向前移到詞末
$ : 行末
0 : 行首
tx : 向右查找本行的x並移到那兒(大寫時向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件****
33% : 文件的33%處
H/M/L : 屏幕的首/中/****
zt/zz/zb : 當前行移到屏幕的首/中/底部

跳轉:
” : 回到跳轉來的地方
CTRL-O : 跳到一個 “較老” 的地方
CTRL-I : 則跳到一個 “較新” 的地方

查找:
/ : 向下查找(後加關鍵字)
? : 向上查找(後加關鍵字)
n : 下一條符合的記錄

編輯:
i : 轉換到插入模式
x : 刪除當前字符
. : 重複最後一次的修改操作(同PS裏ctrl+f執行濾鏡)
u : 撤銷操作
CTRL-R : 重做
p : 將刪除的字符插入到當前位置(put)

退出保存:
:q : 退出
:q! : 不保存退出
ZZ : 保存後退出
:e! : 放棄修改重新編輯

退出SSH後,繼續運行!
#nohup wget http://www.phpv.net/file.tar.gz &

wget是一個Linux環境下用於從World Wide Web上提取文件的工具,這是一個GPL許可證下的自由軟件,其作者爲Hrvoje Niksic 。wget支持HTTP和FTP協議,支持代理服務器和斷點續傳功能,能夠自動遞歸遠程主機的目錄,找到合乎條件的文件並將其下載到本地硬盤上;如果必要,wget將恰當地轉換頁面中的超級連接以在本地生成可瀏覽的鏡像。由於沒有交互式界面,wget可在後臺運行,截獲並忽略HANGUP信號,因此在用戶推出登錄以後,仍可繼續運行。通常,wget用於成批量地下載Internet網站上的文件,或製作遠程網站的鏡像。

語法:

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主機提供了用戶名和密碼(當然,也可以
使用
參數提供該信息,見後)。

參數說明:

wget的參數較多,但大部分應用只需要如下幾個常用的參數:
-r 遞歸;對於HTTP主機,wget首先下載URL指定的文件,然後(如果該文
件是
一個HTML文檔的話)遞歸下載該文件所引用(超級連接)的所有文件(遞歸深度由
參數
-l指定)。對FTP主機,該參數意味着要下載URL指定的目錄中的所有文件,遞歸方
法與
HTTP主機類似。

-N 時間戳:該參數指定wget只下載更新的文件,也就是說,與本地目錄中
的對
應文件的長度和最後修改日期一樣的文件將不被下載。

-m 鏡像:相當於同時使用-r和-N參數。

-l 設置遞歸級數;默認爲5。-l1相當於不遞歸;-l0爲無窮遞歸;注意,
當遞
歸深度增加時,文件數量將呈指數級增長。

-t 設置重試次數。當連接中斷(或超時)時,wget將試圖重新連接。如
果指
定-t0,則重試次數設爲無窮多。

-c 指定斷點續傳功能。實際上,wget默認具有斷點續傳功能,只有當你使
用別
的ftp工具下載了某一文件的一部分,並希望wget接着完成此工作的時候,才需要
指定
此參數。

使用舉例:
wget -m -l4 -t0 http://oneweb.com.cn/
將在本地硬盤建立http://oneweb.com.cn/的鏡像,鏡像文件存入當前目錄下一個
名爲
oneweb.com.cn的子目錄中(你也可以使用-nH參數指定不建立該子目錄,而直接在當前目錄下建立鏡像的目錄結構),遞歸深度爲4,重試次數爲無窮(若連接出現問題,wget將堅韌不拔地永遠重試下去,知道任務完成!)

另外一些使用頻率稍低的參數如下:
-A acclist / -R rejlist:
這兩個參數用於指定wget接受或排除的文件擴展名,多個名稱之間用逗號隔開。例如,假設我們不想下載MPEG視頻影像文件和.AU聲音文件,可使用如下參數:
-R mpg,mpeg,au

其它參數還有:
-L 只擴展相對連接,該參數對於抓取指定站點很有用,可以避免向宿主主機的其他目錄擴散。例如,某個人網站地址爲:http://www.xys.org/~ppfl/,使用如下命令行:
wget -L http://www.xys.org/~ppfl/
則只提取該個人網站,而不涉及主機www.xys.org上的其他目錄。

-k 轉換連接:HTML文件存盤時,將其中的非相對連接轉換成爲相對連接。

-X 在下載FTP主機上的文件時,排除若干指定的目錄

另外,下面參數用於設置wget的工作界面:
-v 設置wget輸出詳細的工作信息。
-q 設置wget不輸出任何信息。

如果我們已經在一個HTML文檔(或普通文本文檔)中存儲了所要提取的文件的連接,可以讓wget直接從該文件中提取信息,而不用在命令行中提供URL地址,參數格式爲:
-i filename
地址文件也可以不是HTML文檔,例如,一個普通的文本文件,其中有需要下載的URL列表即可。
我們可以用以下技巧提高下載速度:由於Linux是一個多任務系統,我們可以同時運行多個wget進程以提高下載速度,例如,先下載某主頁文件(index.html),然後將該文件所列出的所有地址分別用一個獨立的wget進程進行下載。

至於其他的參數,可參考wget的man手冊頁,命令爲:
man wget

Post in LAMP | No Comments »

DreamHost中shell使用指南
01月 28th, 2008
DreamHost中shell使用指南

1. Basic Instructions基本操作命令
通常來說,使用”$[Instructions] –help”可以獲得以下各個命令[instructions]的幫助,包含其參數列表的定義。

-ls 列出當前文件夾下所有內容
$ls -o 列出當前文件夾中所有內容,含詳細信息,但不列出group
$ls -l 同上,含group信息
$ls -a 列出當前文件夾中所有內容,包含以”.”開頭的文件
$ls -t 按更改時間排序
$ls -v 按版本先後排序

-cd [dir] 進入文件夾

-pwd 顯示當前路徑

-mkdir [dir] 新建文件夾

-chmod 更改文件/文件夾權限
$chmod [Mode] [dir],其中Mode形如”755″或”777″等。
$chmod [Mode] [file]
$chmod -R [Mode] [dir],遞歸形式,即將目標文件夾內所有文件均改變權限
Mode還有另一種表達方式,”755″即爲”-rwxr-xr-x”,不列舉了。

-rm [file] 刪除文件/文件夾
$rm -f [file] 強行刪除,忽略不存在的文件,無提示
$rm -r [file] 遞歸刪除所有內容

-cp 拷貝
$cp [options] [source] [destination]
其中[options]可以爲-f(強行拷貝)或-r(遞歸拷貝)

-mv 重命名或移動
$mv [options] [source] [destination]
[options]常用:-f(強行移動/重命名), -i(移動/重命名前嘗試), -u(更新)
例如
$mv wwwroot/cgi-bin . 將/cgi-bin目錄移動到當前目錄下
$mv cronfile.txt myfile.txt 將cronfile.txt重命名爲myfile.txt

2. wget下載工具
wget是一種非交互式的網絡文件下載工具,在linux下可以使用該工具快速地從網絡上下載所需要的文件而不需要經由本地硬盤中轉,而且速度極快。以下是一些使用方法:

wget [參數列表] URL

最簡單的用法:

$wget http://targetdomain.com/file.tar

wget的常用參數:
· -t [nuber of times]:嘗試次數,當wget無法與服務器建立連接時,嘗試連接多少次。比如”-t120″表示嘗試120次。當這一項爲”0″的時候,指定嘗試無窮多次直到連接成功爲止,這個設置非常有用,當對方服務器突然關機或者網絡突然中斷的時候,可以在恢復正常後繼續下載沒有傳完的文件;

· -c:斷點續傳,這也是個非常有用的設置,特別當下載比較大的文件的時候,如果中途意外中斷,那麼連接恢復的時候會從上次沒傳完的地方接着傳,而不是又從頭開始,使用這一項需要遠程服務器也支持斷點續傳,一般來講,基於UNIX/linux的Web/FTP服務器都支持斷點續傳;

· -T [number of seconds]:超時時間,指定多長時間遠程服務器沒有響應就中斷連接,開始下一次嘗試。比如”-T120″表示如果120秒以後遠程服務器沒有發過來數據,就重新嘗試連接。如果網絡速度比較快,這個時間可以設置的短些,相反,可以設置的長一些,一般最多不超過900,通常也不少於60,一般設置在 120左右比較合適;

· -w [number of seconds]:在兩次嘗試之間等待多少秒,比如”-w 100″表示兩次嘗試之間等待100秒;

· -nd:不下載目錄結構,把從服務器所有指定目錄下載的文件都堆到當前目錄裏;

· -x:與”-nd”設置剛好相反,創建完整的目錄結構,例如”wget -nd http://www.gnu.org/ “,實際的目錄結構一級一級建下去,直到所有的文件都傳完爲止;

· -nH:不創建以目標主機域名爲目錄名的目錄,將目標主機的目錄結構直接下到當前目錄下;

· -r:遞歸下載,在本機建立服務器端目錄結構;

· -l [depth]:下載遠程服務器目錄結構的深度,例如”-l 5″下載目錄深度小於或者等於5以內的目錄結構或者文件;

· -m:做站點鏡像時的選項,如果你想做一個站點的鏡像,使用這個選項,它將自動設定其他合適的選項以便於站點鏡像;

· -np:只下載目標站點指定目錄及其子目錄的內容。這也是一個非常有用的選項,我們假設某個人的個人主頁裏面有一個指向這個站點其他人個人主頁的連接,而我們只想下載這個人的個人主頁,如果不設置這個選項,甚至–有可能把整個站點給抓下來,這顯然是我們通常不希望的;

· –http-user=username
· –http-passwd=password:如果Web服務器需要指定用戶名和口令,用這兩項來設定;

· -O 將數據寫入文件中。

3. Crontab 定時執行任務

在DreamHost系統下, 通過Shell可以建立自己的crontab. 具體使用如下:
使用支持shell登錄的終端(如fterm或putty), 地址欄輸入 [email protected]:22即可以SSH方式登錄至服務器.

常用的crontab命令:
crontab -l 顯示所有現存cron job.

crontab -r 刪除當前cron jobs.

crontab -e 編輯當前 “crontab file”. DH推薦使用nano

注意你的crontab包含所有的cron jobs, 每個cron一行, 斷行結尾. 一個正常的cron如下所示:

45 2 * * * /home/user/script.pl
第一個數字是每小時的第幾分鐘,
第二個數字是每天的第幾小時,
第三個數字是每月的第幾天,
第四個數字是每年的第幾月,
第五個數字是每週的第幾天.

使用方式例如:
32 * * * * : 表示每小時的第32分鐘.
12,42 * * * * : 表示每小時的第12及第42分鐘兩次
*/15 */2 * * *: 表示0:00, 0:15, 0:30, 0:45, 2:00, 2:15, 2:30, …
43 18 * * 7: 表示每個週日的6:43pm運行命令行.

在DreamHost下使用nano編輯完文件後,使用ctrl+o保存,ctrl+x退出編輯。

4. tar命令
tar命令的使用方法如下:

tar [參數列表] [文件名]

參數列表:
-c 生成新的備份,並同時覆蓋舊的備份文件
-x 從備份文件中解壓縮
-t 列出備份文件內的文件目錄
-v 顯示所有被操作文件列表
-f 在指定位置生成備份
-u 將不存在於備份中的文件,或將已經被更改的文件加入該備份中。

舉例說明:
tar cvf filename.tar /*製作備份*/
tar cvf tarfile.tar ./filename /*將filename的文件備份到tarfile.tar裏面*/
tar tvf filename.tar /*列出tar文檔的內容*/
tar xvf filename.tar /*從tar文檔中導出文件*/
tar zxpvf filename.tar.gz /*從tar.gz文檔中導出文件*/
tar zxvf filename.tar.gz /*同上*/
tar xvf tarfile.tar ./filename /*導出tar文件中的單個文件*/

5. vi編輯器
Linux下很易用的一種編輯器,只需要稍微知道幾個指令即可應用。

打開vi:
$vi [filename]:打開或新建文件,並將光標置於第一行首
$vi +n [filename] :打開文件,並將光標置於第n行首
$vi + [filename] :打開文件,並將光標置於最後一行首
$vi +/pattern [filename]:打開文件,並將光標置於第一個與pattern匹配的串處
$vi -r [filename] :在上次正用vi編輯時發生系統崩潰,恢復filename
$vi [filename]….[filename] :打開多個文件,依次編輯

如果filename不存在,則自動生成一個名字filename的新文件。

vi共有兩種狀態:命令狀態/編輯狀態

編輯狀態下:
第一次按下insert鍵爲”insert”模式,再按一下爲”replace”模式,使用ESC返回命令狀態;
在此狀態下鍵盤的PgUp/PgDn/Insert/Delete/Home/End/方向鍵,均處於正常功能狀態。

命令狀態下:
輸入的字符串作爲命令處理,使用”insert”鍵切換到編輯狀態;
以下是命令狀態下的命令清單:

移動光標類命令
h :光標左移一個字符
l :光標右移一個字符
space:光標右移一個字符
Backspace:光標左移一個字符
k或Ctrl+p:光標上移一行
j或Ctrl+n :光標下移一行
Enter :光標下移一行
w或W :光標右移一個字至字首
b或B :光標左移一個字至字首
e或E :光標右移一個字j至字尾
) :光標移至句尾
( :光標移至句首
}:光標移至段落開頭
{:光標移至段落結尾
nG:光標移至第n行首
n+:光標下移n行
n-:光標上移n行
n$:光標移至第n行尾
H :光標移至屏幕頂行
M :光標移至屏幕中間行
L :光標移至屏幕最後行
0:(注意是數字零)光標移至當前行首
$:光標移至當前行尾

屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。

插入文本類命令
i :在光標前
I :在當前行首
a:光標後
A:在當前行尾
o:在當前行之下新開一行
O:在當前行之上新開一行
r:替換當前字符
R:替換當前字符及其後的字符,直至按ESC鍵
s:從當前光標位置處開始,以輸入的文本替代指定數目的字符
S:刪除指定數目的行,並以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行

刪除命令
ndw或ndW:刪除光標處開始及其後的n-1個字
do:刪至行首
d$:刪至行尾
ndd:刪除當前行及其後n-1行
x或X:刪除一個字符,x刪除光標後的,而X刪除光標前的
Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令 :
/pattern:從光標開始處向文件尾搜索pattern
?pattern:從光標開始處向文件首搜索pattern
n:在同一方向重複上一次搜索命令
N:在反方向上重複上一次搜索命令
:s/p1/p2/g:將當前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換

選項設置
all:列出所有選項設置情況
term:設置終端類型
ignorance:在搜索中忽略大小寫
list:顯示製表位(Ctrl+I)和行尾標誌($)
number:顯示行號
report:顯示由面向行的命令修改過的數目
terse:顯示簡短的警告信息
warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息

最後行方式命令
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
:q:退出vi
:q!:不保存文件並退出vi
:!command:執行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內容作爲command的輸入並執行之,若不指
定n1,n2,則表示將整個文件內容作爲command的輸入
:r!command:將命令command的輸出結果放到當前行 。Adminis

Post in LAMP | No Comments »

mysql的一些亂七八糟的東西
01月 27th, 2008
mysql的一些亂七八糟的東西 使用MYSQL半年,自己經常用的東西- -

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關閉服務

Net start mysql 開啓服務

Linux下 service mysql stop關閉

Service mysql start 開啓

Service mysql restart重啓服務

Linux下開機自動啓動mysql

#>chkconfig –add mysql 開機啓動

Chkconfig –del mysql 關閉自動啓動

Chkconfig – -list 查看服務啓動情況

Mysql命令行下

Explain select……..查看該SELECT語句信息

Show variables查看系統變量

Show status 常看當前服務器狀態

Show databases;

Show tables;

Show processlist

Show warnings;(查看最近一個警告或錯誤)

Set global xxxx=xxxx;

Flush ……清楚mysql使用的部分內部緩存

Information_schema.tables表信息

Mysql動態語句5.1

只支持create table,delete,do ,insert,replace,select set ,update語句

Describe tablename查看該表結構

Optimize table XXX 清理該表中已刪除的鏈接(可以釋放一些資源)

Source c:abc.sql 在MYSQL命令行中執行腳本

Select

Create

Insert

Update

Alter

Grant

revoke

就不說了= =

Mysql 數據庫名最長 64位字符串

表名….. 64位字符串

字段名……. 64位字符串

用戶名…….. 16位字符串

密碼……… 貌似沒限制

Handler(很牛X的東東)

Handler testt open as abc;

Handler abc read id=(123456);

Handler abc close;

Benchmark(n,expr)執行N次EXPR並測算時間

Post in LAMP | No Comments »

MYSQL在命令行創建存儲過程
01月 27th, 2008
MYSQL在命令行創建存儲過程 如何在MYSQL命令行創建存儲過程

今天早上在百度知道碰到這個問題,我開始沒看明白…….後來才知道提問人的意思是要在命令行下創建存儲過程。很感謝這個問題,因爲我也不會呵呵,我一直都用EMS創建這些東西…….

我也嘗試了一些方法,但是第一個分號mysql就以爲語句結束了,就拿那個例子來說:

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

這個存儲過程,在命令行直接創建的話,在第三排你輸入分號後就報錯了……因爲MYSQL以爲這個語句結束了,那對於MYSQL而言

CREATE PROCEDURE p7 (IN b INTEGER(12))

begin

declare a INTEGER(12);

肯定是個錯誤語句。

然後看了些東西,原來要加分隔符- -……….

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了…………意思就是說在//……//之間的當成一個語句執行所以MYSQL接到的纔是這個存儲過程完整的創建語句。

Post in LAMP | No Comments »

mysql 基本命令
01月 27th, 2008
基礎介紹:

1.在linux下使用下列命令,請確認mysql的bin目錄是否已經加入到PATH路徑中,或者是已經進入到mysql安裝路徑下的bin目錄
查看PATH
shell> echo $PATH
或者
shell> cd /usr/local/mysql/bin

2.windows下,請運行cmd後,同樣檢查mysql的bin目錄是否已加入到系統的PATH路徑中,或直接進入mysql的安裝目錄

下面所有操作都是確認你以檢查mysql的bin目錄已加入到系統的PATH路徑中,或已經進入mysql的安裝目錄的bin目錄下

1]如何創建mysqld數據庫的管理用戶?

數據庫安裝好後,我們應該爲mysql數據庫創建一個管理帳號。要把root用戶設置爲管理員,我們應該運行下面的命令;

shell> mysqladmin -u root password 123456

通過上面的命令,我們可以知道,mysql數據庫的管理員是root,密碼是123456。

2]如何進入mysql數據庫?以mysql數據庫管理員root,密碼爲123456爲例;

shell> mysql -uroot -p123456

輸出上面的命令後,出現的是如下的提示;

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>

注意:操作這些命令的時候,應該把mysqld服務器打開。這些新手兄弟早就知道了吧:)

3]如何在數據庫中操作命令呢,我想這是mysql手冊都有的,我主要說幾個要注意的地方。其實我也會不了幾個命令。如果自己想學的弟兄,也不是什麼難事;在windows中操作過mysql的,其實在這裏也是一樣的,mysql是跨平臺的數據庫,用法都是相同的。

在mysql數據庫中,每操作一個命令,都是;號結尾的,可能有的新手弟兄,忘記輸入了;號結尾,結果退不出來。:):)

1]查看mysql中都有哪些數據庫?

代碼:
mysql>
show databases;
+———-+
| Database |
+———-+
| mysql |
| test |
+———-+
2 rows in set (0.00 sec) mysql>
在mysql安裝好,設置好管理員後,第一次進入系統,我們用show databases;命令查看數據庫的列表,發現有兩個數據庫,mysql和test,這是系統自建的,是讓大家練習用的。

4]如何創建和刪除一個數據庫?

比如我要創建一個名爲linux的數據庫,應該運行如下命令

mysql> create database [數據庫名];

所以我們應該運行如下的命令,來創建名爲linux的數據庫

mysql> create database linux;
Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因爲都有OK了:)

查看是不是有linux這個數據庫了呢?

代碼:
mysql> show databases;
+———-+
| Database |
+———-+
| linux |
| mysql |
| test |
+———-+
3 rows in set (0.00 sec)

那我們如何刪除一個數據庫呢??
mysql> drop database [數據庫名];

比如我們要把剛纔創建的linux數據庫刪除,應該用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)

是不是已經刪除了呢??

代碼:
mysql> show databases;
+———-+
| Database |
+———-+
| mysql |
| test |
+———-+
2 rows in set (0.00 sec)

5]如何操作一個數據庫呢,這個問題就比較多了,建議還是看一下mysql的手冊吧。裏面的東西太多了。如果操作一個數據庫,首先是要指定一個數據庫爲當前數據庫,應該用use命令

mysql>use [數據庫];

比如我想指定linux這個數據庫爲當前數據庫,應該是

mysql> use linux;
Database changed

6]如何備份數據庫??

比如我們要備份mysql中已經存在的名爲linux的數據庫,要用到命令mysqldump

命令格式如下:

shell> mysqldump -uroot -p linux > /root/linux.sql
Enter password:在這裏輸入數據庫的密碼

通過上面的命令,我們要明白兩件事,首先備份數據庫是要以數據庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實備份的位置和文件名,根據自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;

比如我想把linux的數據庫備份到/home/beinan,數據庫的文件名爲linuxsir031130.sql,所以應該輸入如下的命令。
shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在這裏輸入數據庫管理員root的數據庫密碼

這樣我們到/home/beinan目錄下就能發現mysql中名爲linux的數據庫的備份文件linuxsir031130.sql

綜上所述,我們學習時要學會變通。:):)

5]如何把把備份的數據庫導入到數據庫中?

首先我們還是要操作上面幾個過程,比如添加數據庫管理員(如果您沒有添加過mysql數據庫管理員的話),創建數據庫等。

比如我們要把在/home/beinan這個目錄中的linuxsir031130.sql這個備份,導入名爲linux的數據庫中,應該如下操作;

shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在這裏輸入密碼

如果機器好,數據庫比較小,幾分鐘就好了。

6]其它一些比較常用的mysql指令;

查看狀態
mysql> show status;

查看進程

代碼:
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)

查看錶,應該先指定一個數據庫爲當前數據庫;比如是名爲linux的數據庫;

mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)

7]對mysql數據庫常用命令的一點補充;

幾個常用的mysql相關的管理命令

mysql 命令:基本文本的,顯示和使用的mysql數據庫。前面已經簡單的提過用法;比如登錄等。

mysqladmin 命令,用來創建和維護mysql數據庫的命令,前面已經簡單的提過;

isamchk 是用來修復、檢查和優化.ism後綴的數據庫文件;

mysqldump 是用於備份數據庫,前面已經簡單的說明過;

myisamchk 用來修復.myi後綴的數據庫文件;

比如我們要檢查名爲linux的數據庫.myi數據庫表是否存在問題,應該用下面的命令;

要把mysqld服務器停下來
shell> ../share/mysql.server stop

然後執行
shell> myisamchk ../var/linux/*.MYI

上面的命令的意思就是檢查所有的.myi文件,數據庫的目錄在../var/linux/目錄中

如果有問題,應該用-r參數來修復
shell> myisamchk -r ../var/linux/*.MYI

6]mysqlshow 命令:顯示用戶選擇的數據庫和表
shell> mysqlshow -uroot -p [數據庫名]

比如我要查看名爲linux的數據庫;應該是:

shell> mysqlshow -uroot -p linux

好了,到這裏,你可能已經知道命令行下的所有基本操作了~

ps:補充一個。。

更改ROOT帳號名。

update set user=”新名字” where user=”舊名字”;

自己補充:
在windows中的關閉mysql命令 net stop mysql ;啓動是net start mysql
OPTIMIZE TABLE “;優化表

Post in LAMP | No Comments »

ib_logfile0和ib_logfile1,爲INNODB數據LOG文件
01月 27th, 2008
ASK: 我的系統是windows2003,最近裝了MYSQL5.0後發現C盤容量劇減,後來仔細檢查了一下,發現ib_logfile0和 ib_logfile1竟然用了600多M,現在C盤8G的空間就剩餘200M了,請問我要怎樣轉移ib_logfile0和ib_logfile1文件到D盤呢?

DA: ib_logfile0和ib_logfile1,爲INNODB數據LOG文件,先停下數據庫.
將這三個文件拷到它處
修改MY.INI配置文件, 參數改爲新目錄
—————————
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.
————
再啓動

不過有個問題,LOG文件是固定不變,用來存儲未提交的數據,一般設爲幾十兆就可以了,你的是否設置有問題.

發佈了8 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章