mysql學習筆記(四)

2021-09-18 07:02:31 字數 2299 閱讀 9075

23資料備份和恢復

(1)備份

①使用mysqldump命令備份

mysqldump -u user -h localhost -p password dbname [table1,[table2 ]....]>filename.sql

備份所有資料庫

mysqldump -u user -h localhost -p --all-databases>filename.sql

②複製資料目錄

③使用mysqlhotcopy

是備份資料庫或單個表的最快的途徑,但是它只能執行在資料庫目錄所在的機器上,並且只能備份myisam型別的表。mysqlhotcopy在unix系統中執行。

mysqlhotcopy -u root -p dbname /usr/backup

(2)檔案恢復

①mysql -u user -p dbname在執行前需要先建好資料庫

如果已經登入到mysql中了,可以使用source來進行恢復

mysql>source filename.sql;

在使用source的時候必須先使用use 語句到對應的資料庫中

②複製資料目錄

執行前需要關閉mysql資料庫服務

③使用mysqlhotcopy

先停止服務

cp -r /user/backup/test usr/local/mysql/data

重啟伺服器

如果恢復的資料庫已經存在,需要使用drop 刪除已存在的資料之後,恢復才能成功。

mysql不同版本之間必須相容。

(3)資料遷移

①相同版本的mysql資料庫之間的遷移(主版本號相同)

mysqldump -u user -h localhost -p password dbname [table1,[table2 ]....]>filename.sql

mysql -u user -p dbname②不同版本號之間的資料遷移

舊版本的與新版本的mysql可能出現字符集不同的情況,在遷移過程中要對預設的字符集進行修改,不然無法正常顯示。

新版本會對舊版本有一定的相容性,從舊版本的mysql遷移到新版本的mysql遷移時,對於myisam引擎的表,可以直接複製資料庫檔案,也可以使用mysqlhotcopy工具、mysqldump工具。

對於innodb引擎的表一般只能使用mysqldump工具。

從新版本遷移到舊版本時最好使用mysqldump命令匯出,然後匯入到目標庫中。

③不同資料庫之間的遷移

遷移工具myodbc實現mysql到sql server的 遷移

mysql migration toolkit可以在不同資料庫之前遷移

(4)表的匯入匯出

①select ...into outfile 'filename'匯出文字檔案

mysql>select * from test.preson into outfile "c:\person.txt";

②使用mysqldump匯出文字檔案

mysqldump -t path -u root -p dbname [table] [options]

③使用mysql命令匯出文字檔案

msyql -u root -p --execute="select 語句" dbname>filename.txt

mysql -u root -p --execute"select * from person;" test >c:\person.txt;

--vertical 顯示 執行的詳細資訊

mysql -u root -p --vertical --execute"select * from person;" test >c:\person.txt;

--html記錄到html檔案裡

>mysql -u root -p --html --execute"select * from person;" test >c:\person.html;

--xml記錄到xml檔案裡

mysql -u root -p --xml --execute"select * from person;" test >c:\person.xml;

④使用load data infile方式匯入文字檔案

load data infile 『filename.txt』 into table tablename

⑤使用mysqlimport命令匯入文字檔案

mysqlimport -u root -p dbname filename.txt

為了保證資料的一直行,需要在備份檔案前,執行sql

flush tables with read lock;

MySQL學習筆記 四

上篇我們學會了如何建立乙個資料庫和資料庫表,並知道如何向資料庫表中新增記錄。那麼我們如何從資料庫表中檢索資料呢?1 從資料庫表中檢索資訊 實際上,前面我們已經用到了select語句,它用來從資料庫表中檢索資訊。select語句格式一般為 以前所使用的 表示選擇所有的列。2 查詢所有資料 mysql ...

MySQL學習筆記(四)

mysql支援regexp的正規表示式 找出以a d 為開頭的sname select from stu where sname regexp a d 接下來介紹一下與時間有關的函式。獲取當前時分秒 獲取當前的年月日 獲取當前的時間,年月日時分秒 返回日期date是星期幾 1 星期天,2 星期一,7...

MySQL學習筆記 四

補充知識,後續可能會用到 1,auto increment關鍵字 在尾部新增,放在主鍵後面 設定變數為自增變數 2,一般情況下,mysql的預設是以 作為結束執行語句,與觸發器中需要的分行起衝突 解決辦法 delimiter 可以將結束符號變成 當觸發器建立後,可用delimiter 還原 一,觸發...