mysql資料備份

2021-09-25 08:25:12 字數 1894 閱讀 6519

備份策略

物理備份:

邏輯備份不複製實際資料檔案而複製表結構和資料的備份。例如,mysqldump命令生成邏輯備份,因為它的輸出包含 create等語句可以重新建立資料的表和插入。 與物理備份形成對比。 邏輯備份提供了靈活性 (例如,您可以在恢復之前編輯表定 義或插入語句),但是可以進行大量的操作恢復時間比物理備份長。

邏輯備份:

物理備份複製實際資料檔案的備份。例如,mysql企業的mysqlbackup命令備份產品生成物理備份,因為它的輸出包含可以直接由mysqld伺服器,導致更快的恢復操作。與邏輯備份形成對比。參見備份、邏輯備份、mysql企業備份和還原。

備份命令:

將資料庫中的所有表備份到/date/all.sql

mysqldump  -uroot -p 密碼  --all-databases  > /date/all.sql
將資料庫中的mysql表備份到/date/mysql.sql

mysqldump -uroot -p 密碼  mysql > /date/mysql.sql
恢復資料

將備份資料全部匯入到資料庫中

mysqldump -uroot -p123456  --all-databases < /date/all.sql
將備份的mysql資料匯入資料庫中的mysql庫中

mysqldump -uroot -p123456 mysql < /date/mysql.sql
innobackupex備份資料
vim /etc/my.cnf

default-storage-engine=innodb #該選項預設使用的是innodb儲存引擎

重啟資料庫

systemctl restart mysqld
檢視資料庫使用的儲存引擎

mysql -uroot -p123456 -e "show engines;"
innobackupex完全備份

innobackupex --user=root  --password=123456 /allbak  --no-timestamp      #--no-timestamp  讓備份下來的資料不打時間戳

chown -r mysql:mysql /allbak #將該目錄是所有者和所屬組改為mysql

完全恢復

使用innobackupex做完全恢復之前還需要將資料庫停止

systemctl stop mysqld

rm -rf /var/lib/mysql

mkdir /var/lib/mysql

準備恢復資料

innobackupex --copy-back /allbak/ #拷貝資料

ll /var/lib/mysql

chown -r mysql:mysql /var/lib/mysql

資料增量備份

innobackupex --user=root --password=123456 /fullbak --no-timestamp  #先做乙個完全備份

innobackupex --user=root --password=123456 --incremental /new1dir --incremental-basedir=/fullbak --no-timestamp

–incremental /new1dir #增量備份存放的目錄

–incremental-basedir=/fullbak #該指定目錄為最近的完全備份目錄

mysql 備份源資料 mysql 資料備份與還源

一 資料備份 1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條ins...

mysql備份資料 mysql 備份資料

1 備份命令 格式 mysqldump h主機名 p埠 u使用者名稱 p密碼 dbname tbname 檔名.sql 如果tbname不填,就是單個資料據的所有表 例如 mysqldump h 192.168.1.100 p 3306 uroot ppassword database cmdb d...

mysql資料備份

mysql教程資料庫教程的備份 匯入 匯出 資料匯入 資料匯出 資料庫和資料表的匯入匯出我們用的是mysqldump 來操作,資料的匯入匯出我們用load data infile 與 load data outfile操作 匯出資料庫方法 引數 mysqldump u使用者名稱 p密碼 資料庫 儲存...