1)備份mysql資料庫的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
2)備份mysql資料庫為帶刪除表的格式
備份mysql資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
3)直接將mysql資料庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4)備份mysql資料庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1
specific_table2 > backupfile.sql
5)同時備份多個mysql資料庫
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2
databasename3 > multibackupfile.sql
6)僅僅備份資料庫結構
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
7)備份伺服器上所有資料庫
mysqldump –all-databases > allbackupfile.sql
1)還原mysql資料庫的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
2)還原壓縮的mysql資料庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
例如:恢復我們實驗室的資料庫,到40上有備份檔案的目錄去執行:
gunzip < backupfile.sql.gz |mysql –u
root (這樣就行了)
3)將資料庫轉移到新伺服器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -c databasename
4) 將多個資料庫同時還原
gunzip < backupfile.sql.gz | mysql -uroot (這裡是我們的專案中的還原資料庫) 因為是多個資料庫在乙個壓縮包裡面,所以不能用各個資料庫的name和password去還原,也不能寫具體到那個資料庫。
5)單獨的資料庫恢復
mysql -uaqtas -paqtas websim < ams_websim_dump_0910.sql
gunzip < ams_websim_dump_0910.sql.gz |mysql -uaqtas -paqtas websim
以下是乙個資料庫備份的.sh檔案
#!/bin/bash #
#backup database #
# bakup directory
export back_dir=/home/jenny/backup(申明備份檔案存放的位置)
# mysql user name & password
database_user=aqtas
database_pass=aqtas
database_name_aqtas=aqtas
database_name_aqvue=aqvue(需要備份的兩個資料庫)
hostname=10.1.10.40
# get current time
current_time=`date +"%y%m%d%h%m%s"`
(%y
年, 數字, 4 位;%m 月, 數字(01……12);%d 月份中的天數, 數字(00……31);
%h 小時(00……23) ;%m分(00.......59);%s 秒(00……59))
# generate bakup file name for database
database_bakup_aqtas="aqtas-sql-bak_$.sql"(備份檔案的名稱)
database_bakup_aqvue="aqvue-sql-bak_$.sql"
# generate bakup file name for database(
可以備份成壓縮包的格式)
database_bakup_aqtas="aqtas-sql-bak_$.sql.gz"
database_bakup_aqvue="aqvue-sql-bak_$.sql.gz"
# bakup database
#backup aqtasdb,aqvuedb
mysqldump -h$ -u$ -p$ $ > $back_dir/$
mysqldump -h$ -u$ -p$ $ > $back_dir/$
# bakup database(這裡也可以把多個資料庫備份成乙個壓縮檔案)
#backup aqtasdb,aqvuedb
mysqldump -h$ -u$ -p$ $databases | gzip > $back_dir/$
# restore database
# localhost databse name&password
localhost_database_username_aqtas=aqtas
localhost_database_password_aqtas=aqtas
localhost_database_username_aqvue=aqvue
localhost_database_password_aqvue=aqvue
#restore aqtasdb,aqvuedb to localhost
mysql -u $localhost_database_username_aqtas -p $localhost_database_password_aqtas <$back_dir/$
mysql -u $localhost_database_username_aqvue -p $localhost_database_password_aqvue <$back_dir/$
# delete bakup files 7 days ago
#find $back_dir -name "jira*" -ctime +7 -type f -exec rm -f {} \;
#find $back_dir -name "testlink*" -ctime +7 -type f -exec rm -f {} \;
gunzip < backupfile.sql.gz | mysql -uroot (這裡是我們的專案中的還原資料庫) 因為是多個資料庫在乙個壓縮包裡面,所以不能用各個資料庫的name和password去還原,也不能寫具體到那個資料庫。
mysql資料庫備份和還原
備份mysql資料庫的命令 mysqldump hhostname uusername ppassword databasename backupfile.sql 備份mysql資料庫為帶刪除表的格式 備份mysql資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。mys...
MySQL資料庫備份和還原
mysqldump hhostname uusername ppassword databasename backupfile date 0,10 sql 以當前時間命名 備份mysql資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。mysqldump add drop...
Mysql資料庫備份和還原
備份mysql資料庫的命令 mysqldump hhostname uusername ppassworddatabasename backupfile.sql 備份mysql資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。mysqldump add drop tabl...