目前 MySQL 支持的免費備份工具有:mysqldump、mysqlhotcopy,還可以用 SQL 語法進行備份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者備份二進制日志(binlog),還可以是直接拷貝數據文件和相關的配置文件。MyISAM 表是保存成文件的形式,因此相對比較容易備份,上面提到的幾種方法都可以使用。Innodb 所有的表都保存在同一個數據文件 ibdata1 中(也可能是多個文件,或者是獨立的表空間文件),相對來說比較不好備份,免費的方案可以是拷貝數據文件、備份 binlog,或者用 mysqldump。
代碼如下 復制代碼
mysqldump --opt school>school.bbb
注釋:
將數據庫school備份到school.bbb文件,school.bbb是一個文本文件,文件名任取,打開看看你會
有新發現。
備份MySQL數據庫的命令
代碼如下 復制代碼mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
備份MySQL數據庫為帶刪除表的格式
備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。
代碼如下 復制代碼mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接將MySQL數據庫壓縮備份
代碼如下 復制代碼mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
備份MySQL數據庫某個(些)表
代碼如下 復制代碼mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同時備份多個MySQL數據庫
代碼如下 復制代碼mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
僅僅備份數據庫結構
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql備份
服務器上所有數據庫
mysqldump –all-databases > allbackupfile.sql
還原MySQL數據庫的命令
代碼如下 復制代碼mysql -hhostname -uusername -ppassword databasename < backupfile.sql
還原壓縮的MySQL數據庫
代碼如下 復制代碼gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
將數據庫轉移到新服務器
代碼如下 復制代碼mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename