mysql資料庫的備份重要性不用多說,備份方式也很多,但常用的是mysql自帶的備份程式mysqldump,該程式一鍵備份,一鍵恢復,十分方便,並且備份形式支援遠端儲存備份檔案,多種媒介儲存,十分的方便。
下面就以資料庫備份在本地,恢復到另一台遠端主機為例,演示資料庫的備份以及遠端遷移。
第二台主機ip位址為192.168.0.4,只有原始資料庫。暫定稱呼為四號。
兩台主機都是使用的mysql的小弟版本mariadb,zabbix服務時啟動狀態。下面開始正式備份以及資料庫遷移到192.168.0.4這個主機。
在3號主機上,執行備份命令:
mysqldump -uroot --databases zabbix --single-transaction >`date +%f-%h-%m`-zabbix.sql -p
該命令為以root使用者登入資料庫,備份資料庫名稱為zabbix (--databases zabbix,這個也可以寫為-b),
在備份資料庫時,保持資料庫的資料一致性(--single-transaction),當然如果是在生產環境下,可能會有鎖表的現象。
重定向到本地當前工作目錄下。這個`date +%f-%h-%m`需要說明一下,是時間的格式化,當前的系統時間的日和分也有,類似這樣2020-01-02-11-47,備份檔案名字為zabbix.sql。
最後的 -p一定要有哦,這是表示需要密碼驗證,但密碼當命令執行時驗證,這樣做是為了安全,畢竟,沒誰願意讓他人發現密碼在命令的歷史記錄中。輸入正確的密碼後即開始備份,根據資料庫大小等待時間不一,然後在當前工作目錄下就可以看到 2020-01-02-11-47-zabbix.sql的檔案了。這個就是備份好的資料庫檔案。 當然,這個都指定資料庫了,自然是單庫的備份。
mysqldump -uroot -a --single-transaction >`date +%f-%h-%m`-zabbix.sql -p
這個命令就是全庫備份命令 了。 -a 可以替換為 --all-databases,也就是說上面命令等價於
mysqldump -uroot -all-databases --single-transaction >`date +%f-%h-%m`-zabbix.sql -p,
既然是全庫備份,自然不需要指定需要備份的資料庫名稱了。
如果是全庫備份,遠端遷移的目標主機不需要重新建立資料庫,直接使用本地的備份檔案在遠端主機上恢復即可,也就是四號主機上。
遠端主機的資料庫遷移命令為:
cat 2020-01-02-10-55-zabbix.sql | mysql -uroot -p123456 -h 192.168.0.4
記住,這個時候使用的備份檔案是全庫備份出來的檔案,單庫的不要嘗試哦。
單庫的備份檔案如果需要恢復到遠端的主機,那麼首先需要在遠端主機上新建乙個資料庫,並且許可權以及使用使用者等與原備份資料庫一致才可以、然後,上面那個恢復命令 最後面需要新增要恢復的庫名才可以。並且輸入的密碼是遠端的主機的資料庫密碼,也就是四號的資料庫密碼。
另外,友情提示一下,遠端主機需要開啟遠端登入許可權哦。
linux mysql資料庫遷移
由於資料的日漸增多,導致伺服器系統盤的容量總被佔滿,從而使mysql服務掛掉。停止mysql服務 service mysqld stop 複製資料庫到新目錄 進入mysql 使用show variables like datadir 檢視datadir原指向路徑 在新的位置新建乙個目錄,用於存放my...
linux mysql 資料庫 備份
將備份檔案儲存到 usr local mysqlback 路徑下,檔名為super 當前時間.sql mysqldump h ip u使用者名稱 p密碼 資料庫名 usr local mysqlback super date y m d h m s sql bin bash echo date y ...
資料庫的災備
資料是企業重要的生產資料,關鍵資料的丟失可能會給企業致命一擊,因為資料是計算機系統存在的原因和基礎。資料往往是不可再生的,一旦發生資料丟失,企業就會陷入困境 客戶資料 技術檔案 財務賬目等客戶 交易 生產資料可能被破壞得面目全非。資料丟失分為三個層次 邏輯錯誤 包括軟體bug 病毒攻擊 資料塊被破壞...