本文目錄一覽:
- 1、mysql備份命令是什麼?
- 2、mysql中備份數據庫的命令是什麼
- 3、MySQL的備份與還原,非常規備份,全量備份,增量備份
- 4、如何使用mysqldump命令備份mysql數據庫
- 5、備份數據庫的命令
- 6、mysql備份方式有哪些
mysql備份命令是什麼?
參考一下這個吧 還原或者導入數據庫命令:mysql -u root –password=root備份數據庫命令:mysqldump -u root –password=root –database
helloworld helloworld_backup.sql
其他用法:1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名表名 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users wcnc_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc d:\wcnc_db.sql-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4.導入數據庫
常用source 命令
進入mysql數據庫控制台,
如mysql -u root -pmysqluse 數據庫然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
mysqlsource d:\wcnc_db.sql 備份:
1. mysqldump -h 61.139.112.56 -u root -p test d:/test_db.2005-03-02.sql
2. mysqldump -h 61.139.112.56 -u root -p test table1 table2 d:/test12.sql
3. mysqldump -h 61.139.112.56 -u root -p test |gzipd:/testz.gz恢復
1. mysql testdb d:/test_db.2005-03-02.sql
mysqlsource test_db.2005-03-02.sql
mysql中備份數據庫的命令是什麼
常規的mysql備份使用命令是 mysqldump命令用法如下,
mysqldump [選項] 數據庫名 [表名] 腳本名
或mysqldump [選項] –數據庫名 [選項 表名] 腳本名
或mysqldump [選項] –all-databases [選項] 腳本名
例如:
備份所有數據庫:
mysqldump -uroot -p –all-databases /backup/mysqldump/all.db
備份指定數據庫:
mysqldump -uroot -p test /backup/mysqldump/test.db
備份指定數據庫指定表(多個表以空格間隔)
mysqldump -uroot -p mysql db event /backup/mysqldump/2table.db
備份指定數據庫排除某些表
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
註:在導入備份數據庫前,db_name如果沒有,是需要創建的; 而且與db_name.db中數據庫名是一樣的才可以導入。
MySQL的備份與還原,非常規備份,全量備份,增量備份
1:官方百萬級別的測試數據庫:
官方測試數據庫github網址:
下載到目錄,解壓即可,運行命令:
2:自己創建簡單測試數據庫:
快速隨機生成測試語言的網站:
選擇sql和想生成的字段,點擊生成Generate!生成即可。
在MySQL輸入生成的語句即可。
3:測試備份還原時用到的命令
刪庫跑路測試(先備份好)
還原後查詢庫的表數據是否完整。
採用複製整個數據存放目錄
1:查看數據庫數據存放位置
有兩種方法:
1):在數據庫中用命令 show variables like ‘datadir’; 查看
2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認為 /var/lib/mysql/ 位置
Linux中查看配置文件
2:複製目錄或者目錄下某個數據庫名
3:還原時直接複製文件夾到數據庫目錄即可
mysqldump又可叫做全量備份。
參數 –databases 同 -B ,單獨一個庫,也可省略。
1、備份命令mysqldump格式
格式:mysqldump -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已經恢復。
增量備份完成。
如何使用mysqldump命令備份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 庫。但在使用 mysqldump 在執行 –all-databases 會清空 mysql.proc 導致 sys 無法正常使用;這是一個 BUG,並且只存在於 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個方案適用於 sys 庫已經因為 mysqldump 導入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 –upgrade-system-tables,不然會掃描用戶庫表。
2、全備時同時備份 sys 庫
這個方案適用於需要還原的數據庫,sys 庫也不太正常的情況下使用;在全備後額外再備份一份 sys 庫用於修復。
注意:不適用於做主從時使用它。
3、使用 databases 全備
這個方案適用於所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼
如果你的數據庫 sys 全部中招了,又是生產庫。那你只能用這個方法;
mysql-sys:
中記錄了 sys 庫的創建語句將文件下載到本地,然後根據數據庫版本,執行以下命令即可。
備份數據庫的命令
備份MySQL數據庫的命令mysqldump -hhostname -uusername -ppassword databasename backupfile.sql
02
備份MySQL數據庫為帶刪除表的格式備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫.mysqldump -–add-drop-table -uusername -ppassword databasename backupfile.sql
03
直接將MySQL數據庫壓縮備份mysqldump -hhostname -uusername -ppassword databasename | gzip backupfile.sql.gz
04
備份MySQL數據庫某個(些)表mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 backupfile.sql
05
同時備份多個MySQL數據庫mysqldump -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3 multibackupfile.sql
06
僅僅備份數據庫結構mysqldump –no-data –databases dbname1 dbname2 dbname3 structurebackupfile.sql
07
備份服務器上所有數據庫mysqldump –all-databases allbackupfile.sql
08
還原MySQL數據庫的命令mysql -hhostname -uusername -ppassword databasename backupfile.sql
09
還原壓縮的MySQL數據庫gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename
10
將數據庫轉移到新服務器mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
mysql備份方式有哪些
數據庫最直接的備份方法就是使用自帶的mysqldump命令進行備份。
1、 mysqldump命令備份數據
在MySQL中提供了命令行導出數據庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現數據庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:
#MySQLdump常用
mysqldump -u root -p –databases 數據庫1 數據庫2 xxx.sql
2、 mysqldump常用操作實例
2.1備份全部數據庫的數據和結構
mysqldump -uroot -p123456 -A /data/mysqlDump/mydb.sql
2.2備份全部數據庫的結構(加 -d 參數)
mysqldump -uroot -p123456 -A -d /data/mysqlDump/mydb.sql
2.3 備份全部數據庫的數據(加 -t 參數)
mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql
2.4 備份單個數據庫的數據和結構(,數據庫名mydb)
mysqldump -uroot-p123456 mydb /data/mysqlDump/mydb.sql
2.5 備份單個數據庫的結構
mysqldump -uroot -p123456 mydb -d /data/mysqlDump/mydb.sql
2.6 備份單個數據庫的數據
mysqldump -uroot -p123456 mydb -t /data/mysqlDump/mydb.sql2
2.7 備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqldump -uroot -p123456 mydb t1 t2 /data/mysqlDump/mydb.sql
2.8 一次備份多個數據庫
mysqldump -uroot -p123456 –databases db1 db2 /data/mysqlDump/mydb.sql
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/275785.html