mysql 備份命令(摘抄)

2021-08-29 06:43:51 字數 3693 閱讀 6884

原**

如果您像裝載整個資料庫meet_a_geek的內容到乙個檔案中,可以使用下面的命令:

bin/mysqldump –p meet_a_geek > meetageek_dump_file.txt

這個語句也允許您指定乙個表進行dump(備份/匯出/裝載?)。如果您只是希望把資料庫meet_a_geek中的表orders中的整個內容匯出到乙個檔案,可以使用下面的命令:

bin/mysqldump –p meet_a_geek orders >meetageek_orders.txt

這個非常的靈活,您甚至可以使用where從句來選擇您需要的記錄匯出到檔案中。要達到這樣的目的,可以使用類似於下面的命令:

bin/mysqldump –p –where="order_id > 2000" meet_a_geek orders > special_dump.txt

mysqldump工具有大量的選項,部分選項如下表:

選項/option 作用/action performed

--add-drop-table

這個選項將會在每乙個表的前面加上drop table if exists語句,這樣可以保證導回mysql資料庫的時候不會出錯,因為每次導回的時候,都會首先檢查表是否存在,存在就刪除

--add-locks

這個選項會在insert語句中捆上乙個lock table和unlock table語句。這就防止在這些記錄被再次匯入資料庫時其他使用者對錶進行的操作

-c or - complete_insert

這個選項使得mysqldump命令給每乙個產生insert語句加上列(field)的名字。當把資料匯出導另外乙個資料庫時這個選項很有用。

--delayed-insert 在insert命令中加入delay選項

-f or -flush-logs 使用這個選項,在執行匯出之前將會重新整理mysql伺服器的log.

-f or -force 使用這個選項,即使有錯誤發生,仍然繼續匯出

--full 這個選項把附加資訊也加到create table的語句中

-l or -lock-tables 使用這個選項,匯出表的時候伺服器將會給表加鎖。

-t or -no-create- info

這個選項使的mysqldump命令不建立create table語句,這個選項在您只需要資料而不需要ddl(資料庫定義語句)時很方便。

-d or -no-data 這個選項使的mysqldump命令不建立insert語句。

在您只需要ddl語句時,可以使用這個選項。

--opt 此選項將開啟所有會提高檔案匯出速度和創造乙個可以更快匯入的檔案的選項。

-q or -quick 這個選項使得mysql不會把整個匯出的內容讀入記憶體再執行匯出,而是在讀到的時候就寫入導檔案中。

-t path or -tab = path 這個選項將會建立兩個檔案,乙個檔案包含ddl語句或者表建立語句,另乙個檔案包含資料。ddl檔案被命名為table_name.sql,資料檔案被命名為table_name.txt.路徑名是存放這兩個檔案的目錄。目錄必須已經存在,並且命令的使用者有對檔案的特權。

-w "where clause" or -where = "where clause "

如前面所講的,您可以使用這一選項來過篩選將要放到 匯出檔案的資料。

假定您需要為乙個表單中要用到的帳號建立乙個檔案,經理要看今年(2023年)所有的訂單(orders),它們並不對ddl感興趣,並且需要檔案有逗號分隔,因為這樣就很容易匯入到excel中。 為了完成這個人物,您可以使用下面的句子:

bin/mysqldump –p –where "order_date >='2000-01-01'"

–tab = /home/mark –no-create-info –fields-terminated-by=, meet_a_geek orders

這將會得到您想要的結果。

部分載入var/lib/mysql的系統,可以直接在提示符下輸入mysqldump -p ....等命令列

schema:模式

the set of statements, expressed in data definition language, that completely describe the structure of a data base.

一組以資料定義語言來表達的語句集,該語句集完整地描述了資料庫的結構。

select into outfile :

如果您覺得mysqldump工具不夠酷,就使用select into outfile吧, mysql同樣提供乙個跟load data infile命令有相反作用的命令,這就是select into outfile 命令,這兩個命令有很多的相似之處。首先,它們有所有的選項幾乎相同。現在您需要完成前面用mysqldump完成的功能,可以依照下面的步驟進行操作:

1. 確保mysqld程序(服務)已經在執行

2. cd /usr/local/mysql

3. bin/mysqladmin ping ;// 如果這個句子通不過,可以用這個:mysqladmin -u root -p ping

mysqladmin ping用於檢測mysqld的狀態,is alive說明正在執行,出錯則可能需要使用者名稱和密碼。

4. 啟動mysql 監聽程式.

5. bin/mysql –p meet_a_geek;// 進入mysql命令列,並且開啟資料庫meet_a_geek,需要輸入密碼

6. 在命令列中,輸入一下命令:

select * into outfile '/home/mark/orders.txt'

fields

terminated by = ','

from orders

where order_date >= '2000-01-02'

在你按了return(回車)之後,檔案就建立了。這個句子就像乙個規則的select語句,只是把想螢幕的輸出重定向到了檔案中。這意味這您可以使用join來實現多表的高階查詢。這個特點也可以被用作乙個報表產生器。

比方說,您可以組合這一章中討論的方法來產生乙個非常有趣的查詢,試試這個:

在mysql目錄建立乙個名為report_g.rpt 的文字檔案,加入下面的行:

use meet_a_geek;

insert into customers (customer_id, last_name, first_name)

values (null, "kinnard", "vicky");

insert into customers (customer_id, last_name, first_name)

values (null, "kinnard", "steven");

insert into customers (customer_id, last_name, first_name)

values (null, "brown", "sam");

select last_name into outfile '/home/mark/report.rpt'

from customers where customer_id > 1;

然後確認 mysql程序在執行,並且您在mysql目錄中, 輸入下面的命令:

bin/mysql < report_g.rpt檢查您命名作為輸出的檔案,這個檔案將會包含所有您在customers表中輸入的顧客的姓。

mysql備份命令

mysql備份命令 還原或者匯入資料庫命令 mysql u root password root 備份資料庫命令 mysqldump u root password root database helloworld helloworld backup.sql 其他用法 1.匯出整個資料庫 mysql...

mysql備份命令

還原或者匯入資料庫命令 登陸mysql資料庫 mysql uroot proot 注 不要加空格 備份資料庫命令 mysqldump u root proot database table 11.sql 其他用法 1.匯出整個資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 以資...

mysql命令備份

1 mysql命令備份 1 備份test資料和結構 mysqldump opt h127.0.0.1 uroot p111111 lock all tables true result file d test test.sql default character set utf8 test 2 備份...