1. 程式人生 > >mysqldump備份命令

mysqldump備份命令

linux mysql 備份

mysqldump備份說明:

#mysqldump -uroot -p123456 test > test.sql 
         
#mysqldump -uroot -p123456 -B test > test.sql  #這兩個的差別:-B將創建的數據庫名也會備份下來

#mysqldump  -uroot -p123456 -B test | gzip > test.sql.gz   備份庫並壓縮

mysqldump的備份原理:

實際上就是把數據從mysql庫裏以邏輯的sql語句的形式直接輸出或者生成備份的文件過程。屬於邏輯備份。

物理備份:直接對文件進行打包。

#mysqldump -uroot -p123456 -B test xpg | gzip > test.sql.gz  #同時備份多個庫

分庫備份的意思何在?

如果一個庫的數據的數據出現問題,僅僅將這個庫的數據導入進去就好,分庫的意義


備份單個表:

#mysqldump  -uroot -p123456 dbname tablename > test.sql       #備份一個庫裏面的一個表

#mysqldump  -uroot -p123456 dbname tablename1 tablename2 > test.sql  #備份一個庫裏面的多個表

#mysqldump  -uroot -p123456  -d dbname tablename > test.sql #只是備份一個表的結構,不備份數據

#mysqldump  -uroot -p123456 -t dbname tablename > test.sql  #只是備份一個表的數據

備份數據庫裏面的所有數據:-A

#mysqldump -uroot -p123456 -A -B --events | gzip > test.sql.gz

--master-data=1 這個標記了當前的binlog日誌記錄的位置,恢復數據就是從這個日誌的master_log_pos後面開始恢復。

#mysqldump -uroot -p123456 --master-data=1 test > test.sql

技術分享圖片

innodb:存儲引擎( --single-transaction:鎖表)

#mysqldump -uroot -p“” -A -B --master-data=1 --single-transaction | gzip >/opt/all.sql.gz


08-利用source恢復mysql數據講解及實戰

source 需要登錄到數據庫裏面。

mysql>drop database dbname; 刪除一個庫。

mysql>system ls /opt #查看opt下面有什麽文件

mysql>source /opt/...sql

09 分庫備份後mysql如何分庫恢復實踐

當你備份時沒有使用-B。恢復是必須指定庫

#mysql -uroot -p‘123456’ dbname < /opt/mysql_bak.sql

如果是壓縮的備份文件。

可以先使用gzip -d 壓縮文件。然後在導入。


10-mysql進程-狀態-在線修改參數重要指示講解

-e:交互顯示

技術分享圖片


設置全局變量使用set global key_buffer_size=..,重啟後失效


小結:生產常用命令

show global status:查看整個數據庫運行狀態信息,很重要分析並要做好監控

show full processlist:查看正在執行的完整的sql語句

set global key_buffer_size=32777218 不重啟數據庫調整數據庫參數,直接生效,重啟後失敗

show variables:查看數據庫的參數信息


11-mysqlbinlog命令介紹及實戰講解

mysqlbinlog--》解析mysql的binlog日誌

binglog日誌是什麽?

在data下面。mysql-bin.index是binlog日誌文件的索引

作用是:從來記錄mysql內部增刪改查等對mysql數據庫有更新的記錄。select不會記錄。

binglog會記錄所有庫所有表的操作日誌。不能分開記錄相關庫的binlog日誌

通常情況所有的庫日誌都在一個binlog裏面。

所以要進行拆庫:這樣將一個的庫日誌導入到新的文件裏面

#mysqlbinlog -d test mysql-bin.000001 > test.sql  #將test庫的binlog日誌導入到test.sql


mysqldump備份命令