mysqldump備份常見用法
1、匯出整個資料庫(包括資料庫中的資料)
mysqldump -u username -p dbname > dbname.sql
2、匯出資料庫結構(不含資料)
mysqldump -u username -p -d dbname > dbname.sql
3、匯出資料庫中的某張資料表(包含資料)
mysqldump -u username -p dbname tablename > tablename.sq
mysqldump -uroot -p -b dbname --table tablename > tablename.sql
4、匯出資料庫中的某張資料表的表結構(不含資料)
mysqldump -u username -p -d dbname tablename > tablename.sql
5、備份資料庫時使用引數(--ignore-table)排除某個表或多個表
mysqldump -uroot -p「password」 --ignore-table=dbname.table1 --ignore-table=dbname.table2 dbname > /opt/backup.sql
6、設定mysql使用者許可權:
如果想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器的dk資料庫(dk資料庫所有表許可權對應的是dk.*),並使用mypassword作為密碼,如下:
grant all privileges on dk.* to 'myuser'@'192.168.1.3' identified by 'mypassword' with grant option;
flush privileges;
sql檔案還原方法
1、mysql -uroot -p"db_password" -f dbname < backup.sql (-f 引數表示在匯出過程中忽略出現的sql錯誤)
nohup mysql -uroot -p"db_password" -f dbname < backup.sql > /dev/null 2>&1 & (在匯入較大的sql檔案時可以放到後台執行)
2、mysql -uroot -p 先登入到資料庫,use dbname; 切換到需要匯入的庫中,然後執行 source /opt/backup.sql; 這樣就可以匯入了
mysqldump 引數詳解
--host 指定要備份資料庫的伺服器
--port mysql伺服器的埠號
--user 連線mysql伺服器的使用者名稱
--password 連線mysql伺服器的密碼
--add-locks 備份資料庫表時鎖定資料庫表
--databases, -b 匯出多少資料庫,引數後面所有參量都被看作資料庫名
--all-databases 備份mysql伺服器上的所有資料庫
--all-tablespaces , -y匯出全部表空間 -y不匯出任何表空間資訊
--add-drop-table 在每個建立資料庫表語句前新增刪除資料庫表的語句
--no-create-db 禁止生成建立資料庫語句
--no-create-info 禁止生成建立資料庫庫表語句
--complete-insert, -c使用完整的insert語句(包含列名稱),這麼做能提高插入效率,但是可能會受到max_allowed_packet引數的影響而導致插入失敗
--no-data, -d 不匯出任何資料,只匯出資料庫表結構
--no-create-info, -t 只匯出資料,而不新增create table 語句
--no-create-db, -n 只匯出資料,而不新增create database 語句
--ignore-table 匯出資料庫時忽略某個表
--force,-f 在匯出過程中忽略出現的sql錯誤,當出現錯誤時仍然繼續後面的操作
--add-drop-database 每個資料庫建立之前新增drop資料庫語句
--add-drop-table 每個資料表建立之前新增drop資料表語句,預設為開啟狀態,使用–skip-add-drop-table取消選項
--add-locks在每個表匯出之前增加lock tables並且之後unlock table,預設為開啟狀態,使用–skip-add-locks取消選項
--default-character-set 設定預設字符集,預設值為utf8
--comments 附加注釋資訊,預設為開啟,可以--skip-comments取消
--compact匯出更少的輸出資訊(用於除錯),去掉注釋和頭尾等結構,(可以使用選項 –skip-add-drop-table –skip-add-locks –skip-comments –skip-disable-keys)
--events, -e 匯出事件
--flush-privileges 在匯出mysql資料庫之後,發出一條flush privileges 語句
--flush-logs 開始匯出之前重新整理日誌,請注意,假如一次匯出多個資料庫(使用選項–databases或者–all-databases),將會逐個資料庫重新整理日誌
除使用–lock-all-tables或者–master-data外,在這種情況下,日誌將會被重新整理一次,相應的表同時被鎖定,因此,如果打算同時匯出和重新整理日誌應該使用–lock-all-tables 或者–master-data 和–flush-logs
--delayed-insert 採用延時插入方式(insert delayed)
--comments 新增注釋資訊
--compact 壓縮模式,產生更少的輸出
--complete-insert 輸出完成的插入語句
--default-character-set 指定預設字符集
--lock-tables 備份前,鎖定所有資料庫表
--lock-all-tables, -x提交請求鎖定所有資料庫中的所有表,以保證資料的一致性,這是乙個全域性讀鎖,並且自動關閉–single-transaction 和–lock-tables 選項
--debug 輸出debug資訊,用於除錯(預設值為d:t:o,/tmp/mysqldump.trace)例 mysqldump -uroot -p –all-databases –debug=」 d:t:o,/tmp/debug.trace」
**:
mysqldump 資料庫備份
mysqldump客戶端可用來轉儲資料庫或蒐集資料庫進行備份,轉儲包含建立表和 或裝載表的sql語句。適用於innodb引擎的資料庫。有3種方式來呼叫mysqldump 1 mysqldump options db name tables 2 mysqldump options database d...
mysqldump備份還原資料庫
1.用mysql實用工具mysqldump備份資料庫 最常用的語法格式 mysqldump opt database backup file.sql 例子 mysqldump uroot ppassword d mysql.sql 2.備份mysql資料庫 由於mysqldump匯出的是完整的sql...
mysqldump備份資料庫
a 匯出檔案 mysqldump remotedatabasename tablename1,tablename2,tablename3 u root ppassword c r localfilename b 匯出到本地資料庫 mysqldump remotedatabasename tablen...