mysql 备份命令行_mysql命令行备份方法
一、mysql備份
1、備份命令
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --database 數據庫名 > 文件名.sql
# 本地備份可以不添加端口和主機IP,username、passward是數據庫用戶名和密碼
mysqldump -h *.*.*.* -p 3306 -u username -p password --database mysql > /data/backup/mysql.sql
2、備份壓縮
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --database 數據庫名 | gzip > 文件名.sql.gz
# 導出的數據有可能比較大,不好備份到遠程,這時候就需要進行壓縮
mysqldump -h *.*.*.* -p -u username -p password --database mysql | gzip > /data/backup/mysql.sql.gz
3、備份同個庫多個表
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --database 數據庫名 表1 表2 .... > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password mysql1 mysql2 mysql3> /data/backup/mysql_db.sql
4、同時備份多個庫
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --databases 數據庫名1 數據庫名2 數據庫名3 > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --databases mysql1 mysql2 mysql3 > /data/backup/mysql_db.sql
5、備份實例上所有的數據庫
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --all-databases > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --all-databases > /data/backup/mysql_db.sql
6、備份數據出帶刪除數據庫或者表的sql備份
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --add-drop-table --add-drop-database 數據庫名 > 文件名.sql
mysqldump -h *.*.*.* -p 3306 -u username -p password --add-drop-table --add-drop-database mysql > /data/backup/mysql_db.sql
7、備份數據庫結構,不備份數據
格式:mysqldump -h主機IP -P端口 -u用戶名 -p密碼 --no-data 數據庫名1 數據庫名2 數據庫名3 > 文件名.sql
mysqldump -h *.*.*.* -p -u username -p password --no-data –databases mysql1 mysql2 mysql3 > /data/backup/structure_db.sql
8、還原MySQL數據庫的命令
# database為數據庫名
mysql -h *.*.*.* -u username -p password database < backupfile.sql
9、還原壓縮的MySQL數據庫
# database為數據庫名
gunzip < backupfile.sql.gz | mysql -u username -p password database
10、將數據庫轉移到新服務器
# database為數據庫名
mysqldump -u username -p password database | mysql –host=*.*.*.* -C database
11、--master-data?和--single-transaction
在mysqldump中使用--master-data=2,會記錄binlog文件和position的信息?。
--single-transaction會將隔離級別設置成repeatable-commited。
12、導入數據庫
常用source命令,用use進入到某個數據庫,mysql>source?d:\test.sql,后面的參數為腳本文件。
13、查看binlog日志
查看binlog日志可用命令?mysqlbinlog??binlog日志名稱|more
14、general_log
General_log記錄數據庫的任何操作,查看general_log?的狀態和位置可以用命令show?variables?like?"general_log%"??,開啟general_log可以用命令set?global?general_log=on
二、增量備份
1、首先做一次完整備份:
# 這時候就會得到一個全備文件test.sql
mysqldump -h *.*.*.* -u username -p passward -p --single-transaction --master-data= test>test.sql
在sql文件中我們會看到:
-- 是指備份后所有的更改將會保存到bin-log.000002二進制文件中。
CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;
2、在test庫的t_student表中增加兩條記錄,然后執行flush?logs命令。
這時將會產生一個新的二進制日志文件bin-log.000003,bin-log.000002則保存了全備過后的所有更改,既增加記錄的操作也保存在了bin-log.00002中。
3、再在test庫中的a表中增加兩條記錄,然后誤刪除t_student表和a表。
a中增加記錄的操作和刪除表a和t_student的操作都記錄在bin-log.000003中。
三、恢復
1、首先導入全備數據
# 也可以直接在mysql命令行下面用source導入
mysql -h *.*.*.* -u username -p passward -p 3310 < test.sql
2、恢復bin-log.000002
mysqlbinlog bin-log.000002 |mysql -h *.*.*.* -u username -p passward -p 3310
3、恢復部分?bin-log.000003
在general_log中找到誤刪除的時間點,然后更加對應的時間點到bin-log.000003中找到相應的position點,需要恢復到誤刪除的前面一個position點。
可以用如下參數來控制binlog的區間
--start-position?開始點?--stop-position?結束點
--start-date?開始時間??--stop-date??結束時間
找到恢復點后,既可以開始恢復。
mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h *.*.*.* -u username -p passward -p 3310
Mysql命令行備份與還原數據庫操作實例
無論是Windows還是Linux,都可以通過如下命令行形式備份Mysql數據庫 備份命令: 在windows的DOS窗口命令行或linux的shell命令行,假設需要備份的數據庫是advanced: ...
mysql命令行備份數據庫
MySQL數據庫使用命令行備份|MySQL數據庫備份命令 例如: 數據庫地址:127.0.0.1 數據庫用戶名:root 數據庫密碼:pass 數據庫名稱:myweb 備份數據庫到D盤跟目錄 mysq ...
使用MySQL命令行備份和恢復數據庫
導出數據庫: 1.windows下cmd打開命令行 2.cd 到MySQL的安裝目錄的bin 目錄,如果bin目錄添加到環境變量中不需要切換到bin目錄 3.導出數據庫:mysqldump -u 用戶 ...
mysql 命令行 備份 恢復數據
找到mysql啟動位置 whereis mysql 備份指定數據庫 包括表結構和數據 使用命令mysqldump 數據庫名 -u 用戶名 -p > 存儲文件路徑 [root@izm5e16gjd ...
mysql命令行以及mysql workbence查詢結果中文亂碼的解決方法
最近正在學習mysql,安裝環境是windows server 2003 32位操作系統+mysql 5.1.47同時也安裝了mysql命令行以及mysql workbench這里是test數據庫cr ...
Mysql命令行中文亂碼的解決方法
環境:Windows 8 64位,Mysql ?5.0.96 for Win64 (x86) 數據庫本身安裝時默認已經是使用utf8編碼的了,但在命令行中執行查詢時,查詢到的中文依然亂碼,解決方法如下 ...
Mysql命令行tab自動補全方法
在mysql命令行有時為了方便想要按tbl鍵自動補全命令,以便節約時間. 具體方法如下: 第一步:修改my.cnf vi mysql/etc/my.cnf 將下圖紅框的代碼注釋,修改成如下代碼: #d ...
第二百九十節,MySQL數據庫-MySQL命令行導出導入數據庫,數據庫備份還原
MySQL命令行導出導入數據庫,數據庫備份還原 MySQL命令行導出數據庫:1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄如我輸入的命令行:cd C:\Program ...
MYSQL 命令行工具自動登錄的方法
MYSQL 命令行工具自動登錄的方法 1. 需求提出 由于在linux 環境下,經常需要使用mysql(command-line tool) 終端連接到MYSQL DB服務. 其中大致的語法如下: m ...
隨機推薦
android adt自帶eclipse無法設置ndk路徑(找不到NDK配置)
分步閱讀 到android sdk官網下載r23版本的adt時自帶的eclipse沒有設置ndk路徑的地方,通過Install New Software 發現無法更新,那么如何解決這個問題呢? 方便他 ...
CopyU!SW新版發布!
CopyU!SW新版發布,版本號為:2.1.412.213 主要更新內容如下: 此版本(2.1.412.213)主要作了如下更新: ? ? ? ?1.修復了CopyU!SW版本中的運行模式規則的設定錯 ...
php 之 類,對象(三)多態性,函數重載,克隆
一.三大特性之三 多態性(在php中表象不明顯)1.概念:當父類引用指向子類實例時,由于子類對父類函數進行了重寫,導致我們在使用該引用去調用相應的方法顯示出的不同.2.發生條件:1.必須有繼承 2. ...
找出數組中特定和數字下標(JAVA)
比如: 輸入:?numbers={2, 7, 11, 15}, target=9 輸出:?index1=1, index2=2 public class _003TwoSum { public sta ...
為什么我的outlook只能收信不能發信,發送測試電子郵件消息: 無法發送此郵件。請在帳戶屬性中驗證電子郵件
鏈接地址:http://zhidao.baidu.com/link?url=aVIFo2aNLuHIZGZuEUataHkZp4XApHqyvbEK8ACHPhi3jwhGhM0GBAtm72AnsP ...
[置頂] Java字節碼文件剖析
Java為什么能夠支持跨平臺,其實關鍵就是在于其*.class字節碼文件,因為*.class字節碼文件有一個統一標準的規范,里面是JVM運行的時需要的相關指令,各家的JVM必須能夠解釋編譯執行標準字節 ...
RabbitMQ入門-競爭消費者模式
上一篇講了個 哈嘍World,現在來看看如果存在多個消費者的情況. 生產者: package com.example.demo; import com.rabbitmq.client.Channel; ...
JDK提供的幾種線程池比較
JDK提供的幾種線程池 newFixedThreadPool創建一個指定工作線程數量的線程池.每當提交一個任務就創建一個工作線程,如果工作線程數量達到線程池初始的最大數,則將提交的任務存入到池隊列中. ...
Eclipse 之開發環境的常用配置
一.Java智能提示 (1). 打開Eclipse,選擇打開" Window - Preferences". (2). 在目錄樹上選擇"Java-Editor-Conte ...
降低版本安裝flashPlayer
運行regedit,打開注冊表. 搜索flash,找到FlashPlayer文件夾. 打開里面的safeversions,把里面高版本的項目刪除就可以了. 安裝低版本的并設置不自動更新.
總結
以上是生活随笔為你收集整理的mysql 备份命令行_mysql命令行备份方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb操作数据库
- 下一篇: linux 命令行下载mysql