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

mysql命令備份資料庫

發布時間:2023-01-25 10:32:53

① MySQL的備份與還原,非常規備份,全量備份,增量備份

1:官方百萬級別的測試資料庫:

官方測試資料庫github網址:https://github.com/datacharmer/test_db

下載到目錄,解壓即可,運行命令

2:自己創建簡單測試資料庫:

快速隨機生成測試語言的網站:https://generatedata.com/

選擇sql和想生成的欄位,點擊生成Generate!生成即可。

在MySQL輸入生成的語句即可。

3:測試備份還原時用到的命令

刪庫跑路測試(先備份好)

還原後查詢庫的表數據是否完整。

採用復制整個數據存放目錄

1:查看資料庫數據存放位置

有兩種方法:

1):在資料庫中用命令 show variables like 'datadir' 查看

2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認為 /var/lib/mysql/ 位置

Linux中查看配置文件


2:復制目錄或者目錄下某個資料庫名

3:還原時直接復制文件夾到資料庫目錄即可


mysqlmp又可叫做全量備份。

參數 --databases 同 -B ,單獨一個庫,也可省略。

1、備份命令mysqlmp格式

格式:mysqlmp -h主機名 -P埠 -u用戶名 -p密碼 database 資料庫名 > 文件名.sql

備份testDatabase資料庫

2、備份MySQL資料庫為帶刪除表的格式

備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。

3、直接將MySQL資料庫壓縮備份

備份並壓縮

4、備份MySQL資料庫某個(些)表

備份testDatabase中的myTable表,不需要用參數 --databases 或者 -B

5、同時備份多個MySQL資料庫

同時備份testDatabase和 employees兩個庫

6、備份伺服器上所有資料庫

參數 --all-databases 同 -A

7、還原MySQL資料庫的命令

1) 不指定數據名還原,默認生成原資料庫名稱,還原所有資料庫。

2) 指定數據名還原,還原指定單個資料庫,需在資料庫種預先創建一個testDatabase名稱。

3) 還原壓縮的MySQL資料庫

4) 進入資料庫用source導入

增量備份是針對於資料庫的bin-log日誌進行備份的,增量備份是在全量的基礎上進行操作的。增量備份主要是靠mysql記錄的bin-log日誌。

1:查看是否開啟bin-log日誌

進入mysql輸入命令可查看。

顯示如下為開啟狀態,日誌文件在/var/lib/mysql/以binlog.00001的格式保存。

如未開啟,需要在配置文件種配置


2:查看目前使用的bin-log日誌文件

進入mysql查看命令。

顯示如下,目前使用的是binlog.000022文件,所有操作都記錄在此文件。

查看當前testDatabase的表myTable數據如下,

3:刷新日誌,使用新的日誌文件(備份)

在命令端執行命令

日誌文件從 binlog.000022 變為 binlog.000023

這時相當與已經備份成功,備份文件即為上次的binlog.000022日誌文件。

4:刪除數量,從日誌還原數據

1) 刪除ABC行

查詢以及沒有ABC行列。

2) 恢復數據ABC行

退出mysql,在命令端用mysqlbinlog命令恢復到binlog.000022日誌狀態。

進入資料庫再次查看數據,ABC已經恢復。

增量備份完成。

② 如何使用mysqlmp命令備份mysql資料庫

通用規律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什麼東西。於是喊上同事一起 less 看了下,上下掃了兩眼。突然發現:1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 後CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數據?這不就是相當於每次導入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqlmp 在執行 --all-databases 會清空 mysql.proc 導致 sys 無法正常使用;這是一個 BUG,並且只存在於 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個方案適用於 sys 庫已經因為 mysqlmp 導入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。
2、全備時同時備份 sys 庫
這個方案適用於需要還原的資料庫,sys 庫也不太正常的情況下使用;在全備後額外再備份一份 sys 庫用於修復。
注意:不適用於做主從時使用它。
3、使用 databases 全備
這個方案適用於所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼

如果你的資料庫 sys 全部中招了,又是生產庫。那你只能用這個方法;
mysql-sys:https://github.com/mysql/mysql-sys
中記錄了 sys 庫的創建語句將文件下載到本地,然後根據資料庫版本,執行以下命令即可。

③ 如何使用mysqlmp命令備份mysql資料庫

mysqlmp: 最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個資料庫實例、單個資料庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。
比如導出單個資料庫 ytt: mysqlmp ytt > /tmp/ytt.sql;
恢復也非常簡單:mysql < /tmp/ytt.sql

缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。

④ mysql中備份和還原資料庫的語句什麼啊

一、Mysql資料庫備份指令格式:
mysqlmp -h主機名 -P埠 -u用戶名 -p密碼 (–database) 資料庫名 > 文件名.sql
註:直接cmd執行該指令即可,不需要先mysql -u root -p鏈接資料庫
1、備份MySQL資料庫的命令
mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql
2、備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。
mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql
二、資料庫還原有三種方式:source命令、mysql、gunzip命令
1、source 命令
進入mysql資料庫控制台,
mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面參數為腳本文件(如這里用到的.sql)
mysql>source /home/work/db/bkdb.sql
2、mysql
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
3、gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

⑤ 如何備份整個mysql資料庫

1、首先打開mysql資料庫軟體進入軟體主界面。

⑥ 如何對mysql備份

Mysql資料庫的常用備份方法是使用使用實用程序mysqlmp, 其命令格式如下

# mysqlmp [options] database [tables]

其參數的含義為:

options:代表mysqlmp的選項,通過mysqlmp –help可以查到。

database: 代表將要備份的資料庫

tables: 代表將要備份的表,如果不指定任何錶,則備份整個資料庫。

使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 phpbb_db_backup 」,使用命令:

#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/ phpbb_db_backup.2005.5.6

還可以使用gzip命令對備份文件進行壓縮:

#mysqlmp phpbb_db_backup | gzip > /usr/backups/mysql/ phpbb_db_backup.2005.5.6。gz

恢復數據使用命令:

#mysql –u -p phpbb_db_backup </usr/backups/mysql/phpbb_db_backup.2005

⑦ mysql如何備份數據

1.1、 mysqlmp命令備份數據
在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqlmp,我們可以通過命令行直接實現資料庫內容的導出mp,首先我們簡單了解一下mysqlmp命令用法:
#MySQLmp常用
mysqlmp -u root -p --databases 資料庫1 資料庫2 > xxx.sql
1.2、 mysqlmp常用操作實例
1.備份全部資料庫的數據和結構
mysqlmp -uroot -p123456 -A > /data/mysqlDump/mydb.sql
2.備份全部資料庫的結構(加 -d 參數)
mysqlmp -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql
3.備份全部資料庫的數據(加 -t 參數)
mysqlmp -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql
4.備份單個資料庫的數據和結構(,資料庫名mydb)
mysqlmp -uroot-p123456 mydb > /data/mysqlDump/mydb.sql
5.備份單個資料庫的結構
mysqlmp -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql
6.備份單個資料庫的數據
mysqlmp -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql
7.備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqlmp -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql
8.一次備份多個資料庫
mysqlmp -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

閱讀全文

與mysql命令備份資料庫相關的資料

熱點內容
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:823
戰地1控伺服器如何部署 瀏覽:394
xp還原系統輸入命令 瀏覽:323
mysql命令行版本 瀏覽:303
如何進入itunes找文件夾 瀏覽:832
CAD中重復命令使用 瀏覽:477
心智pdf 瀏覽:475
網站電台直播間源碼 瀏覽:852
文件夾14c和18c的區別 瀏覽:34
android隱式調用 瀏覽:667
plc的編程指令邊沿繼電器 瀏覽:723
voc文件夾 瀏覽:865
租廣東聯通伺服器注意什麼雲空間 瀏覽:934
javascript高級程序設計pdf 瀏覽:292
pwm單片機原理 瀏覽:348
ai演算法在線修復圖片 瀏覽:981
scratch編程中如何做射擊游戲 瀏覽:479
at89c51編程器 瀏覽:344
項目經理叫醒程序員 瀏覽:344