linux常用命令之數據庫操作


mysqldump -u數據庫用戶名 -p 數據庫名 表名(可忽略) > /備份路徑/備份數據庫名.sql

ySQL數據備份之mysqldump使用

 

     mysqldump常用於MySQL數據庫邏輯備份。

 

1、各種用法說明

     A. 最簡單的用法:

mysqldump -uroot -pPassword [database name] 
> [dump file]

     上述命令將指定數據庫備份到某dump文件(轉儲文件)中,比如:

mysqldump -uroot -p123 test > test.dump

     生成的test.dump文件中包含建表語句(生成數據庫結構哦)和插入數據的insert語句。

 

     B. --opt

     如果加上--opt參數則生成的dump文件中稍有不同:

     . 建表語句包含drop table if exists tableName

     . insert之前包含一個鎖表語句lock tables tableName write,insert之后包含unlock tables


     C. 跨主機備份

     使用下面的命令可以將host1上的sourceDb復制到host2的targetDb,前提是host2主機上已經創建targetDb數據庫:

mysqldump --host=host1 --opt sourceDb| mysql --host=host2 -C targetDb

     -C指示主機間的數據傳輸使用數據壓縮

 

     D. 只備份表結構

mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > test.dump

     將只備份表結構。--databases指示主機上要備份的數據庫。如果要備份某個MySQL主機上的所有數據庫可以使用--all-databases選項,如下:

mysqldump --all-databases
> test.dump

 

     E. 從備份文件恢復數據庫

mysql [database name] < [backup file name]

 

2、結合Linux的cron命令實現定時備份

    比如需要在每天凌晨1:30備份某個主機上的所有數據庫並壓縮dump文件為gz格式,那么可在/etc/crontab配置文件中加入下面代碼行:

30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz

    前面5個參數分別表示分鍾、小時、日、月、年,星號表示任意。date '+%m-%d-%Y'得到當前日期的MM-DD-YYYY格式。

 

3、一個完整的Shell腳本備份MySQL數據庫示例

復制代碼
復制代碼
#vi /backup/backup.sh

!bin/bash

cd /backup
echo "You are in backup dir"
mv backup* /oldbackup
echo "Old dbs are moved to oldbackup folder"
File = backup-$Now.sql
mysqldump -u user -p password database-name > $File
echo "Your database backup successfully completed"

 

復制代碼
復制代碼
來源: https://www.cnblogs.com/jpfss/p/7867668.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM