方法一:如果你使用的是虛擬主機,可以用使用phpmyadmin來備份數(shù)據(jù)庫。
超過10余年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序定制開發(fā),微信開發(fā),成都app開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!
1)登陸phpmyadmin。登陸后左邊會出現(xiàn)數(shù)據(jù)庫列表,單擊要備份的數(shù)據(jù)庫,如圖。
Mysql數(shù)據(jù)庫備份的幾種方法
2)在彈出的頁面中,右側(cè)上部單擊“導(dǎo)出”按鈕,一般保持默認選項,最下面“另存為文件”,選擇“ZIP壓縮”,最后單擊執(zhí)行按鈕,如圖
Mysql數(shù)據(jù)庫備份的幾種方法
3)彈出保存文件后,保存文件即可,如圖。
Mysql數(shù)據(jù)庫備份的幾種方法
常規(guī)的mysql備份使用命令是 mysqldump命令用法如下,
mysqldump [選項] 數(shù)據(jù)庫名 [表名] 腳本名
或mysqldump [選項] --數(shù)據(jù)庫名 [選項 表名] 腳本名
或mysqldump [選項] --all-databases [選項] 腳本名
例如:
備份所有數(shù)據(jù)庫:
mysqldump -uroot -p --all-databases /backup/mysqldump/all.db
備份指定數(shù)據(jù)庫:
mysqldump -uroot -p test /backup/mysqldump/test.db
備份指定數(shù)據(jù)庫指定表(多個表以空格間隔)
mysqldump -uroot -p mysql db event /backup/mysqldump/2table.db
備份指定數(shù)據(jù)庫排除某些表
mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 /backup/mysqldump/test2.db
還原命令例如:
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name /backup/mysqldump/db_name.db
注:在導(dǎo)入備份數(shù)據(jù)庫前,db_name如果沒有,是需要創(chuàng)建的; 而且與db_name.db中數(shù)據(jù)庫名是一樣的才可以導(dǎo)入。
dbname參數(shù)表示數(shù)據(jù)庫的名稱;
table1和table2參數(shù)表示需要備份的表的名稱,為空則整個數(shù)據(jù)庫備份;
BackupName.sql參數(shù)表設(shè)計備份文件的名稱,文件名前面可以加上一個絕對路徑。通常將數(shù)據(jù)庫被分成一個后綴名為sql的文件;
使用root用戶備份test數(shù)據(jù)庫下的person表
mysqldump -u root -p test person D:\backup.sql
1、首先打開mysql數(shù)據(jù)庫軟件進入軟件主界面。
2、然后再左側(cè)樹里打開自己的的數(shù)據(jù)庫。
3、然后需要點擊需要備份的數(shù)據(jù)庫名。
4、如圖所示為打開數(shù)據(jù)庫后界面。
5、然后需要點擊轉(zhuǎn)儲sql文件選項。
6、然后需要打開選擇存儲文件路徑并選擇保存。
7、點擊保存即可在路徑備份好格式為sql的數(shù)據(jù)庫文件。
Mysql數(shù)據(jù)庫的常用備份方法是使用使用實用程序mysqldump, 其命令格式如下
# mysqldump [options] database [tables]
其參數(shù)的含義為:
options:代表mysqldump的選項,通過mysqldump –help可以查到。
database: 代表將要備份的數(shù)據(jù)庫
tables: 代表將要備份的表,如果不指定任何表,則備份整個數(shù)據(jù)庫。
使用 mysqldump進行備份非常簡單,如果要備份數(shù)據(jù)庫” phpbb_db_backup ”,使用命令:
#mysqldump –u -p phpbb_db_backup /usr/backups/mysql/ phpbb_db_backup.2005.5.6
還可以使用gzip命令對備份文件進行壓縮:
#mysqldump phpbb_db_backup | gzip /usr/backups/mysql/ phpbb_db_backup.2005.5.6。gz
恢復(fù)數(shù)據(jù)使用命令:
#mysql –u -p phpbb_db_backup /usr/backups/mysql/phpbb_db_backup.2005
通用規(guī)律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什么東西。于是喊上同事一起 less 看了下,上下掃了兩眼。突然發(fā)現(xiàn):1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數(shù)據(jù)?這不就是相當(dāng)于每次導(dǎo)入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqldump 在執(zhí)行 --all-databases 會清空 mysql.proc 導(dǎo)致 sys 無法正常使用;這是一個 BUG,并且只存在于 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個方案適用于 sys 庫已經(jīng)因為 mysqldump 導(dǎo)入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。
2、全備時同時備份 sys 庫
這個方案適用于需要還原的數(shù)據(jù)庫,sys 庫也不太正常的情況下使用;在全備后額外再備份一份 sys 庫用于修復(fù)。
注意:不適用于做主從時使用它。
3、使用 databases 全備
這個方案適用于所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼
如果你的數(shù)據(jù)庫 sys 全部中招了,又是生產(chǎn)庫。那你只能用這個方法;
mysql-sys:
中記錄了 sys 庫的創(chuàng)建語句將文件下載到本地,然后根據(jù)數(shù)據(jù)庫版本,執(zhí)行以下命令即可。