導航:首頁 > 程序命令 > linuxmysql備份資料庫命令行

linuxmysql備份資料庫命令行

發布時間:2022-07-01 16:27:23

❶ 怎麼linux下定時備份mysql資料庫備份

1、查看磁碟空間情況:

既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的存儲介質;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456

2、創建備份目錄:

上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;
cd /home
mkdir backup
cd backup123123

3、創建備份Shell腳本:

注意把以下命令中的DatabaseName換為實際的資料庫名稱;
當然,你也可以使用其實的命名規則!
vi bkDatabaseName.sh11

輸入/粘貼以下內容:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212

對備份進行壓縮
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212

注意:
把 username 替換為實際的用戶名;
把 password 替換為實際的密碼;
把 DatabaseName 替換為實際的資料庫名;

4、添加可執行許可權:
chmod u+x bkDatabaseName.sh11

添加可執行許可權之後先執行一下,看看腳本有沒有錯誤,能不能正常使用;
./bkDatabaseName.sh11

5、添加計劃任務

檢測或安裝 crontab

確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
# crontab
-bash: crontab: command not found

❷ 如何備份linux下的mysql資料庫

1. 寫個自動備份的腳本autobackup.sh,內容如下#!/bin/bashmysqlmp -p databasename > mydata.sql2. 更改其為可執行文件 chmod +x autobackup.sh3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e0 0 * * * /路徑到/autobackup.sh第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周

❸ linux系統下mySQL資料庫 備份方法和腳本

方法一、適合所有格式的mysql資料庫,通過對資料庫導出導進寫個腳本定時執行:
1.導出整個資料庫 mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc > /存放路徑/wcnc.sql
2.導出一個表 mysqlmp -u 用戶名 -p 資料庫名 表名> 導出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc users> /存放路徑/wcnc_users.sql
3.導出一個資料庫結構 mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路徑/wcnc_db.sql
定義:
-d 沒有數據
--add-drop-table 在每個create語句之前增加一個drop table
4.導入資料庫 常用source 命令 進入mysql資料庫控制台:
如mysql -u root -p mysql>use 資料庫

方法二、針對mysql數據表格式為MyISAM的
假如數據文件在/var/lib/mysql
那麼直接寫個腳本
cp -r /var/lib/mysql /備份到的文件夾路徑

隔機備份用rsync增量,或定時完整備份。

❹ Linux下mysql資料庫如何定期備份與刪除

首先,創建備份文件夾mkdir
/mysql/mysqldata_bakeup;創建並編輯文件在路徑
/usr/sbin/bakmysql,命令:vi
/usr/sbin/bakmysql。此時會在/usr/sbin/路徑下創建bakmysql文件,並進入bakmysql編輯狀態,接著輸入;fn
=
`
date
+%Y%m%d
`
tar
zcvf
/mysql/mysqldata_bakeup/mysql$fn.tar.gz
/mysql/data
然後修改文件bakmysql屬性,使其可執行chmod
+x
/usr/sbin/bakmysql
修改/etc/crontab
vi
/etc/crontab
進入編輯狀態,在最下面添加:01
3
*
*
*
root
/usr/sbin/bakmysql
01
3
是每天凌晨3:01執行
bakmysql文件;懂了嗎?

❺ 備份和恢復資料庫的命令

MySQL 命令行備份
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
(SHOW VARIABLES LIKE "%char%"; 查看資料庫安裝路徑)
Linux下命令:
[[email protected] root]# mysqlmp -u root -p oa_int > /home/oa_20160627.sql
Windows下命令:
C:\Users\Administrator>mysqlmp -u 密碼 -p 資料庫名 > d:/oa_int_20160708.sql
MySQL 命令行恢復:
Linux下命令:
[[email protected] root]# mysql -u root -p oa_int1 < /home/oa_20160627.sql
Enter password:在這里輸入資料庫的密碼
Windows下命令:
C:\Users\Administrator> mysql -u root -p 資料庫名(要先創建好資料庫) < d:/oa_int_20160708.sql

❻ LINUX下如何直接對MYSQL資料庫進行備份

MYSQL提供了數據導入與導出的兩個命令,分別是mysqlimport(導入)和
mysqlmp(導出或者轉儲)。詳細用法請網路一下。

❼ 如何備份linux伺服器上的mysql資料庫

其實跟windows是一樣的
簡單的軟備份方法就是使用mysql命令:
mysqlmp
-u
用戶名
-p
密碼
-all-databases >
/home/mysql/bak.sql
不過你可以做成shell腳本,然後在crontab
中定時執行,這個方法在數據量少時比較好使
如果你的數據比較重要,又多建議使用集群+硬體RAID1,0來保障服務

❽ 如何在linux下實現mysql資料庫每天自動備份

mysql備份:
mysqlmp -u username -p dbname > BackupName.sql
mysql恢復:
mysql -u root -p dbname < BackupName.sql

所以你可以寫個shell腳本,腳本中執行mysql備份命令,然後把shell腳本加入crontab定時任務中就可以完成每天自動備份資料庫了。

❾ linux下mysql資料庫備份工具有哪些

命令行 mysqlmp
網頁phpmyadmin

❿ 在linux下 如何使用mysqlmp進行mysql的完全備份 要完整命令 記得是完全備份不是某個庫。。

mysqlmp命令
mysql資料庫導出要用到MySQL的mysqlmp工具,基本用法是:

shell> mysqlmp [OPTIONS] database [tables]

如果你不給定任何錶,整個資料庫將被導出。
通過執行mysqlmp --help,你能得到你mysqlmp的版本支持的選項表。
注意,如果你運行mysqlmp沒有--quick或--opt選項,mysqlmp將在導出結果前裝載整個結果集到內存中,如果你正在導出一個大的資料庫,這將可能是一個問題。
1.1、mysqlmp支持下列選項:
--add-locks
在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。(為了使得更快地插入到MySQL)。
--add-drop-table
在每個create語句之前增加一個drop table。
--allow-keywords
允許創建是關鍵詞的列名字。這由表名前綴於每個列名做到。
-c, --complete-insert
使用完整的insert語句(用列名字)。
-C, --compress
如果客戶和伺服器均支持壓縮,壓縮兩者間所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調試)。
--help
顯示一條幫助消息並且退出。

LOAD DATA INFILE
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
這些選擇與-T選擇一起使用,並且有相應的LOAD DATA INFILE子句相同的含義。
LOAD DATA INFILE語法。
-F, --flush-logs
在開始導出前,洗掉在MySQL伺服器中的日誌文件。
-f, --force,
即使我們在一個表導出期間得到一個SQL錯誤,繼續。
-h, --host=..
從命名的主機上的MySQL伺服器導出數據。預設主機是localhost。
-l, --lock-tables.
為開始導出鎖定所有表。
-t, --no-create-info
不寫入表創建信息(CREATE TABLE語句)
-d, --no-data
不寫入表的任何行信息。如果你只想得到一個表的結構的導出,這是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
應該給你為讀入一個MySQL伺服器的盡可能最快的導出。
-pyour_pass, --password[=your_pass]
與伺服器連接時使用的口令。如果你不指定「=your_pass」部分,mysqlmp需要來自終端的口令。
-P port_num, --port=port_num
與一台主機連接時使用的TCP/IP埠號。(這用於連接到localhost以外的主機,因為它使用 Unix套接字。)
-q, --quick
不緩沖查詢,直接導出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
與localhost連接時(它是預設主機)使用的套接字文件。
-T, --tab=path-to-some-directory
對於每個給定的表,創建一個 table_name.sql文件,它包含SQL CREATE 命令,和一個table_name.txt文件,它包含數據。 注意:這只有在mysqlmp運行在mysqld守護進程運行的同一台機器上的時候才工作。.txt文件的格式根據--fields-xxx和 --lines--xxx選項來定。
-u user_name, --user=user_name
與伺服器連接時,MySQL使用的用戶名。預設值是你的Unix登錄名。
-O var=option, --set-variable var=option設置一個變數的值。可能的變數被列在下面。
-v, --verbose
冗長模式。列印出程序所做的更多的信息。
-V, --version
列印版本信息並且退出。
-w, --where=''''where-condition''''
只導出被選擇了的記錄;注意引號是強制的!
"--where=user=''''jimf''''" "-wuserid>1" "-wuserid<1"

1.2、最常見的mysqlmp的一個備份:
雖然mysqlmp支持的命令有很多,對於大多數人而言,我們只需要使用-opt這個命令就已經足夠了,為你的資料庫做一個完整的備份:

mysqlmp --opt database > backup-file.sql

但是它對用來自於一個資料庫的信息充實另外一個MySQL資料庫也是有用的:

mysqlmp --opt database | mysql --host=remote-host -C database

1.3、使用mysqlmp導出的文件恢復資料庫
由於mysqlmp導出的是完整的SQL語句,所以用mysql客戶程序很容易就能把數據導入了:

shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql

就是
shell> mysql 庫名 < 文件名
二、使用mysqlmp定時備份資料庫的腳本
2.1、備份腳本
使用腳本每天定期執行資料庫備份操作,對每個使用mysql資料庫的人來說都很有必要,這樣的腳本網上有很多,這里摘抄一個朋友的腳本 dbbackup:

這個腳本每天最多隻執行一次,而且只保留最近五天的備份在伺服器上。

dbbackup代碼:

#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09

#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是tar,還可以是mysqlmp,mysqldot
#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End

NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date=''''5 days ago'''').tgz

echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi

if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can''''t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi

echo "-------------------------------------------" >> $LogFile

2.2、放入crontab定期執行dbbackup
假定dbbackup在/root目錄下。我們通過使用crontab命令,設置每天0點10分執行/root/dbbakup腳本。
1、 使用 crontab –e編輯crontab
2、 在crontab中加入:

#back for jabber database
10 0 * * * /root/dbbackup

閱讀全文

與linuxmysql備份資料庫命令行相關的資料

熱點內容
特斯拉新版app怎麼充電 瀏覽:614
學習編程基礎知識大全 瀏覽:766
linuxc語言socket 瀏覽:925
android50pdf 瀏覽:650
開源鴻蒙怎麼編譯 瀏覽:702
平安口袋銀行app怎麼設置信用卡交易密碼 瀏覽:869
光影怎麼下載到文件夾 瀏覽:32
word怎麼轉為pdf文檔 瀏覽:831
pdf卸載 瀏覽:376
核桃編程多久學完 瀏覽:388
絕地求生藍洞怎麼建伺服器 瀏覽:770
虛擬機復制文件linux系統文件 瀏覽:379
自定義表單java 瀏覽:431
linux改變用戶組 瀏覽:365
托福45天pdf 瀏覽:409
內網掃描命令 瀏覽:740
java入門推薦 瀏覽:602
強迫症解壓管道 瀏覽:157
清理電腦重復的文件夾 瀏覽:769
作文本pdf 瀏覽:386