Mysql 備份恢復與xtrabackup備份

2021-08-14 06:16:39 字數 3305 閱讀 9955

1,在傳統語音通訊公司都是在具體硬體上開發音訊軟體。有了硬體就要有相應的驅動,在linux/android上就是alsa相關的驅動軟體開發。對於前處理、編譯碼、傳輸等模組,既可以在底層做也可以在偏上面的層次做,這取決於軟體架構。我曾經在linux平台上硬體一樣軟體需求一樣的情況下由於軟體架構不一樣開發過兩套語音方案。一套方案是驅動在kernel space做,前處理、編譯碼、傳輸等在user space做。另一套方案是驅動和前處理、編譯碼、傳輸等全部在kernel space做。之所以要做兩套方案是因為第一套方案的效能不夠好,尤其表現在one way delay上。

4,在傳統通訊公司開發語音軟體,一定要嚴格遵守各種協議(主要有3gpp/itu-t/rfc的),不能有自己私有的協議,因為要過互通性測試。運營商在採購通訊裝置時一般會採購多家裝置商的(採購多家裝置商的裝置有多方面原因,其中之一就是不想讓一家裝置商一家獨大形成壟斷從而受制於他),通訊終端更是多種多樣,大家必須遵守相同的協議才能互通,所以一定要嚴格遵守各種協議。

5,傳統通訊網路通常會劃分為終端、接入網、核心網等不同的網元,如下圖:

client a 與client b進行語音通訊,a把語音資料發給b。a先把語音資料發給server的port a,server會把port a的資料路由到port b,再由port b把語音資料發給client b。為了保證語音質量,一般會做兩次補償,先在server的port a上根據丟包率等做一次補償,盡可能復原出client a發出的語音資料。再在client b上做補償,盡可能復原出port b發出的語音資料。也就是說server會對客戶端發過來的語音資料做修改的,而不是透傳的。

6,在傳統通訊公司做語音軟體開發,一定要過運營商的入網認證,包括各種場景下的語音質量(mos值)、one-way-delay、round-trip-delay等指標。這些指標一定要過,不然拿不到入網證,拿不到入網證也就不能賣產品了。這些指標通常都是拿儀器測是否通過,要想過運營商的指標,公司一般都會有音訊實驗室,裡面放著運營商指定的各種儀器,來模擬指定的各種場景。自己公司實驗室裡指標測過了才有信心拿到運營商指定的實驗室去測。過認證是乙個很痛苦的過程,因為這些都是系統性的問題,解決起來都是不容易的,有可能某個指標花了很長時間解決都不達標。話說回來,解決這些系統性問題的過程也是自己能力提高的過程,整個指標一遍做下來,能力會有乙個大的提高。

-a備份全庫

-b備某乙個資料庫下的所有表

-r, --routines

備份儲存過程和函式資料

--triggers

備份觸發器資料

--master-data=

告訴你備份後時刻的binlog位置

如果等於1,則將其列印為change master命令; 如果等於2,那麼該命令將以注釋符號為字首。

--single-transaction

對innodb引擎進行熱備

-f, --flush-logs

重新整理binlog日誌

-x, --lock-all-tables

鎖定所有資料庫的所有表。這是通過在整個轉儲期間採用全域性讀鎖來實現的。

-l, --lock-tables

鎖定所有表以供讀取

-d僅表結構

-t僅資料

--compact

減少無用資料輸出(除錯)

乙個完整的備份語句:

innodb引擎的備份命令如下:

mysqldump -a -r --triggers --master-data=2 --single-transaction |gzip >/opt/all_$(date +%f).sql.gz 

適合多引擎混合(例如:myisam與innodb混合)的備份命令如下:

mysqldump -a -r --triggers --master-data=2 |gzip   >/opt/all_$(date +%f).sql.gz  

1.3.3 -a 引數

備份全庫,備份語句

mysqldump -uroot -p123 -a  > /backup/full.sql

1.3.4 -b 引數

備某乙個資料庫下的所有表

增加建庫(create)及「use庫」的語句,可以直接接多個庫名,同時備份多個庫* -b 庫1 庫2

mysqldump -uroot -p123 -b world  > /backup/worldb.sql

備份語句:

create database if not 存在

use db1

drop table

create table

insert into

不加-b備份資料庫時,只是備份資料庫下的所有表,不會建立資料庫

只能備份單獨的資料庫(一般用於備份單錶時使用)

mysqldump -uroot -p123 world  > /backup/world.sql

備份單錶

mysqldump -uroot -p123 world  city  > /backup/world_city.sql

對於單錶備份的粒度,再恢復資料庫資料時速度最快。

備份多個表

mysqldump 庫1 表1 表2 表3 >庫1.sql

mysqldump 庫2 表1 表2 表3 >庫2.sql

分庫備份:for迴圈

mysqldump -www.dfgjyl.cn/  uroot -p'mysql123' -b mysql ...

mysqldump www.chushiyl.cn  -uroot -p'mysql123' -b mysql_utf8 ...

mysqldump  -uroot -p'mysql123' -b mysql ...

......

分庫備份

for name in `mysql -e "show databases;"|sed 1d`

domysqldump -uroot -p'mysql123' -b $name

done

1.3.5 --master-data=引數

告訴你備份後時刻的binlog位置

2為注釋  1為非注釋,要執行的(主從複製)

[root@db02 logs]# sed -n '22p' /opt/t.sql

change master to master_log_file='clsn-bin.000005', master_log_pos=344;

[root@db02 logs]# mysqldump -b --master-data=2 clsn >/opt/t.sql

今天是2023年的第一天,祝大家新年快樂!希望自己在18年多出精品,自己知道不可能高產,差不多乙個月兩篇原創的節奏。平時工作很忙,週末有私事,包括帶小孩參加各種培訓班,好多都是週末在小孩上課時我寫出來的。

mysql 備份與恢復 MySQL 備份與恢復

1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...

mysql 備份與恢復 Mysql 備份與恢復

資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...

mysql備份恢復 mysql之備份與恢復

工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...