您好,登錄后才能下訂單哦!
本篇內容主要講解“mysqldump如何進行數據備份”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysqldump如何進行數據備份”吧!
前言:
用mysqlbinlog工具(mysql原生自帶的工具)介意快速解析大量的binlog日志文件,并使用二進制日志進行數據恢復的應用實踐,這篇博客我們講一下數據備份先關的命令,因為我們做后臺開發一般工作在shell下,而且部署在后臺服務器或者是云端的mysql,大部分做了一些限制,我們可能在本地無法直連到后臺服務的數據庫3306端口上,一般都會有防火墻之類的網絡的中間鍵,沒有條件用GUI(圖形界面工具)鼠標操作做數據備份之類的,只能通過命令,而且命令也是最快速的,所以這篇博客講一下常用的數據備份,我們一般通過mysqldump進行。
在linux shell下執行以下命令,即可把mytest庫的user表的數據導出到.sql文件中(導出的不僅是數據,SQL語句也導出了)
vim user.sql查看user.sql文件內容如下:
現在mytest庫里面,我們把表刪了,或者是我們向進行數據遷移,在另一個庫上重建這個表。我們有了這個sql腳本在root根目錄下放著,權限不夠,要在普通用戶下執行,所以把user.sql移到普通用戶下(或者我們可以一開始就在普通用戶下執行mysqldump -u root -p mytest user > ~/user.sql
把mytest庫的user表的數據導出到.sql文件中,就不用執行接下來的步驟,直接執行source /home/admin/user.sql
,就可以恢復出user表和數據)
現在user.sql是root的文件,我們變更一下屬主,使得普通用戶也可以操作
然后我們source,相當于把.sql
腳本重新執行一遍
user表和數據全部恢復出來了,有了.sql的腳本,可以在任意的mysql庫上去重建庫表及數據
我們還可以直接導出純表數據:
user.txt內容如下:
這樣就把user表里面的數據全部導出來了,我們再去用python或者go去寫一些腳本進行數據分析的時候,可以通過-t來作為來作為分隔符把每一個字段的數據都獲取出來做額外的數據分析,比如分析用戶的行為,建立用戶的畫像等等。
mysqldump數據備份命令總結
導出建庫建表的SQL:
//導出所有庫 mysqldump -u 用戶名 -p --all-databases > ~/xxx.sql //一次可以導出多個庫 mysqldump -u 用戶名 -p --databases db1[db2] > ~/xxx.sql //導出庫或者庫里面的某張表 mysqldump -u 用戶名 -p dbname [tablename]> ~/xxx.sql
導出純數據:
mysql -u 用戶名 -p -D school -e 'select * from user where age>10' > ~/user.txt
通過備份的.sql,導入數據,建庫建表
登錄mysql,在mysql的shell上執行下面語句
source ~/school.sql
或者直接在linux的shell下執行
cat ~/data.sql|mysql -u root -p
這樣就可以把我們之前備份的數據到mysql的庫表中
到此,相信大家對“mysqldump如何進行數據備份”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。