Ⅰ 如何使用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 庫的創建語句將文件下載到本地,然後根據資料庫版本,執行以下命令即可。
Ⅱ 備份資料庫的命令
備份MySQL資料庫的命令mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql
02
備份MySQL資料庫為帶刪除表的格式備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫.mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql
03
直接將MySQL資料庫壓縮備份mysqlmp -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
04
備份MySQL資料庫某個(些)表mysqlmp -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
05
同時備份多個MySQL資料庫mysqlmp -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3> multibackupfile.sql
06
僅僅備份資料庫結構mysqlmp –no-data –databases dbname1 dbname2 dbname3 > structurebackupfile.sql
07
備份伺服器上所有資料庫mysqlmp –all-databases > allbackupfile.sql
08
還原MySQL資料庫的命令mysql -hhostname -uusername -ppassword databasename < backupfile.sql
09
還原壓縮的MySQL資料庫gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
10
將資料庫轉移到新伺服器mysqlmp -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
Ⅲ 如何使用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.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資料庫
備份資料庫
使用mysqlmp命令備份資料庫
復制代碼代碼如下:
# 如果要將game資料庫進行備份:
mysqlmp -u root -p game > game_backup.sql
# 如果希望備份所有的資料庫:
mysqlmp -u root -p --all-databases > all_backup.sql
還原資料庫
1、使用mysql命令還原資料庫
將game_backup.sql 還原至 game 資料庫:
復制代碼代碼如下:
mysql -u root -p game < game_backup.sql
2、使用source命令還原資料庫
如果資料庫過大,建議可以使用source命令
復制代碼代碼如下:
mysql> source game_backup.sql
Ⅶ 如何用mysql命令備份和恢復
Mysql資料庫備份和還原常用的命令是進行Mysql資料庫備份和還原的關鍵,沒有命令,什麼都無從做起,更談不上什麼備份還原,只有給系統這個命令,讓它去執行,才能完成Mysql資料庫備份和還原的操作,下面為大家分享一下操作的常用的命令。
一、備份命令
1、備份MySQL資料庫的命令
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename>backupfile.sql
2、備份MySQL資料庫為帶刪除表的格式
備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-–add-drop-table-uusername-ppassword databasename>backupfile.sql
3、直接將MySQL資料庫壓縮備份
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename|gzip>backupfile.sql.gz
4、備份MySQL資料庫某個(些)表
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename specific_table1 specific_table2>backupfile.sql
5、同時備份多個MySQL資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword –databases databasename1 databasename2 databasename3>multibackupfile.sql
6、僅僅備份資料庫結構
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp –no-data –databases databasename1 databasename2 databasename3>structurebackupfile.sql
7、備份伺服器上所有資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp –all-databases>allbackupfile.sql
二、還原命令
1、還原MySQL資料庫的命令
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysql-hhostname-uusername-ppassword databasename<backupfile.sql
2、還原壓縮的MySQL資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->gunzip<backupfile.sql.gz|mysql-uusername-ppassword databasename
3、將資料庫轉移到新伺服器
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-uusername-ppassword databasename|mysql –host=*.*.*.*-C databasename
總結
做好數據備份和還原,定好合適的備份策略,這是一個DBA所做事情的一小部分,萬事開頭難,就從現在開始吧!
Ⅷ 備份或導出資料庫命令mysqlmp怎麼使用
mysqlmp工具很多方面類似相反作用的工具mysqlimport。它們有一些同樣的選項。但mysqlmp能夠做更多的事情。它可以把整個 資料庫裝載到一個單獨的文本文件中。這個文件包含有所有重建您的資料庫所需要的SQL命令。這個命令取得所有的模式(Schema,後面有解釋)並且將其 轉換成DDL語法(CREATE語句,即資料庫定義語句),取得所有的數據,並且從這些數據中創建INSERT語句。這個工具將您的資料庫中所有的設計倒 轉。因為所有的東西都被包含到了一個文本文件中。這個文本文件可以用一個簡單的批處理和一個合適SQL語句導回到MySQL中。這個工具令人難以置信地簡單而快速。決不會有半點讓人頭疼地地方。
http://jingyan..com/article/ac6a9a5e175c522b653eacfd.html
Ⅸ mysql中備份資料庫的命令是什麼
常規的mysql備份使用命令是 mysqlmp命令用法如下,
mysqlmp [選項] 資料庫名 [表名] > 腳本名
或mysqlmp [選項] --資料庫名 [選項 表名] > 腳本名
或mysqlmp [選項] --all-databases [選項] > 腳本名
例如:
備份所有資料庫:
mysqlmp -uroot -p --all-databases > /backup/mysqlmp/all.db
備份指定資料庫:
mysqlmp -uroot -p test > /backup/mysqlmp/test.db
備份指定資料庫指定表(多個表以空格間隔)
mysqlmp -uroot -p mysql db event > /backup/mysqlmp/2table.db
備份指定資料庫排除某些表
mysqlmp -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqlmp/test2.db
還原命令例如:
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name < /backup/mysqlmp/db_name.db
註:在導入備份資料庫前,db_name如果沒有,是需要創建的; 而且與db_name.db中資料庫名是一樣的才可以導入。