Shell實現MySQL分庫備份

2021-10-07 05:00:49 字數 1789 閱讀 1830

工作中經常會用到…

進入mysql中檢視庫名

mysql  -uroot  -p』root』

show databases;

如下圖

圖1 命令列進入mysql

或者可以不進入mysql中,直接在命令列中顯示,用以下命令

mysql -uroot -p』root』 -e 」show databases;」
效果見下面圖2

圖2 命令列顯示資料庫名

這裡比如說我不想要哪些框,以及database,information_schema這幾行,可以借助sed工具來實現

這樣我就基本得到資料庫的庫名了

接下來就可以備份資料庫了,用mysqldump這個命令,以備份confluence為例

mysqldump -uroot -p』root』 -b confluence
這裡突然報錯了:

我安裝的是mysql 5.7版本,在網上查閱資料說有兩種解決辦法

1 在my.cnf 配置檔案下刪除no-beep引數

2 在mysqldump 後追加 --no-defauluts引數

第2中方法我試了沒成功。改用第一中辦法,並重啟mysql

如果不想這些顯示,可以講這些儲存到sql中,即備份檔案

現在通過指令碼來實現,新建乙個指令碼名為mysqlbackup.sh

vim mysqlbackup.sh
指令碼如下:將需備份的資料庫名抓取出來,並賦值給databasename變數,通過for迴圈依次執行備份命令操作

檢視是否已備份成功,可以看到已備份成功(都是有資料的)

工作中經常用的到,反倒是分表備份我覺得不是那麼常用(主要是一般表都太多了),新技能get!!!

shell指令碼 mysql資料庫分庫分表備份

背景 作為運維,備份及其重要,在進行刪改操作,無論是應用系統還是資料庫,還是系統檔案,備份是第一步,警惕一頓操作猛如虎的行為 備份 我可以根據庫備份,也可以根據庫中的表來備份。所以寫了2個指令碼,備份的粒度不一樣,就可以多方面去實現我們想要的恢復效果 一 分庫備份 user root passwd ...

mysql分表分庫實現 MySql分表分庫思路

一.資料庫瓶頸 1.1io瓶頸 第一種 磁碟讀io瓶頸,熱點資料太多,資料庫快取放不下,每次查詢時會產生大量的io 分庫和垂直分表 第二種 網路io瓶頸,請求的資料太多,網路頻寬不夠 分庫 1.2cpu瓶頸 第一種 sql問題,如sql中包含join,group by,order by,非索引字段條...

XtraBackup實現MySQL資料備份

xtrabackup是由percona提供的mysql資料庫備份工具,據官方介紹,是一款開源能夠對innodb和xtradb資料庫進行熱備的工具,支援完全備份和增量備份。特點 1 備份過程快速 可靠 2 備份過程不會打斷正在執行的事務 3 能夠基於壓縮等功能節約磁碟空間和流量 4 自動實現備份檢驗 ...