06 mysql物理檔案

2021-09-29 16:44:03 字數 3464 閱讀 1757

資料表檔案

日誌檔案

系統檔案(my.cnf | my.ini | mysql.sock)(mysql系統檔案配置大全)

其他程式檔案

檢視資料庫存在哪個檔案

show variables like '%datadir%';   #檢視資料存放位置

show create table orders; #檢視建立表的sql

表結構存檔案.frm 儲存的是關於資料表的結構不包含索引結構 :主要是字段以及字段型別

.myd存放資料

.myi存放索引

索引都是直接指向資料的位置:

innodb: btree 資料和索引基本是同一片區域中,innodb儲存資料的方式就是通過b+ tree結構存,b+ tree結構的構成就是通過索引構成:資料會在樹的根節點

.ibd 獨享空間乙個表乙個空間

ibdata1 共享空間  很多個表共享同乙個空間

檢視日誌是否開啟

1.查詢日誌

5.事務日誌

2.慢查詢日誌

6.中繼日誌

3.錯誤日誌

4.二進位制日誌

show variables  like '%slow%';
一般不建議開啟,記錄查詢的-> select 使用主要是一些特殊sql -記錄的是所有的預設開啟

2.慢查詢日誌(slow query log)

預設是不開啟記錄指定的超出某個時間執行的sql (2s,3s)

作用:幫助我們在專案執行之後對於-些特定的sql進行捕捉(執行慢的sql) ;可以針對性的優化是專案執行過程中

配置檔案配置:

slow_query_log=1                                      # 開啟

slow-query-log-file=mysql-slow.log #檔名

long_query_time=3 #設定最大等待時間

show variables like '%slow%'; #檢視是否開啟

select sleep(5); #測試

記錄mysq|服務執行過程中產生的錯誤異常:異常不是指sql執行的異常,是指服務異常

作用是在mysq|伺服器意外停止執行的時候查錯

功能:會記錄執行的sql (update, delete, create, insert) 寫操作

1.增量的資料備份及恢復

2.主從的資料同步

show variables like '%log_bin%'; #檢視是否開啟二進位制檔案

show master status; #檢視正在使用二進位製文見

reset master; #重置二進位制檔案

show binlog events ; # 檢視二進位制檔案 預設第乙個

show binlog events in "mysql-bin.000002"; #指定查詢二進位制檔案

show binlog events\g; # 視覺化二進位制

show binary logs; #查詢所有二進位制檔案

flush logs; #清空所有日誌檔案

事務是預設開啟的。

二進位制檔案配置my.cnf檔案:

log_bin=mysql-bin                 #只需設定這個參 數就可以開啟mysq|l的binlog日誌

server-id=1 #mysql執行過程會乙個服務的id ;系統會預設分配一-個服務的id;

binlog_format=mixed #設定二進位制檔案顯示格式

二進位制開啟後,服務重啟會生成mysql-bin.000001、mysql-bin.index檔案。

mysql-bin.000001 :記錄的就是寫操作的sql會隨服務 器的重啟,會重新建立乙個mysql-bin.00002

mysql-bin.index : 就是二進位制的索引檔案

也就是乙個mysql-bin.000001就是記錄的是當前mysq|服務所執行的sql;

每次服務重啟都會新增mysql-bin.0000x,這樣資料分攤,讓這個檔案不會因為一直使用這個檔案過大

根據節點恢復

mysqlbinlog --start-position= 154 --stop-position= 1225 /www/server/data/mysql-bin.000001 i mysql -u root ~p

根據時間恢復

mysqbinlog --start-datetime= " 2019-10-22 22:20:00" --stop-datetime=」2019-10-22 22:30:00" /www/server/data/mysql-b.n.00001 | mysql -uroot -p

也可以直接這樣

mysqlbinlog /www/server/data/mjsql-in.00001 i mysql -u root p

5.事務日誌(redo, undo) => mysq|第3,4次課

6.中級日誌(reley log) => 主要是在主從中去做運用,同時這個檔案會記錄主節點的binlog中的資訊,在從節點會根據這個文

件去恢復資料

mysql.sock檔案如果出現異常:可以切換為

mysql -u root -p [email protected]的連線方式

mysqld :啟動mysq|服務

mysql:連線

mysqlbinlog:操作binlog日誌檔案,可以用來根據binlog恢復資料

mysqladmin:超級管理員使用的

mysqldump:是用來mysql進行資料備份的

二進位制檔案過大如何處理:?

1.定時把二進位制檔案備份到備份資料庫中                                            (伺服器資源足夠不建議清空)

2.定時對於往期1年之前的二進位制檔案進行清空

06 MySQL的資料型別

定點數的位數更加長 使用方式 char 與 varchar 型別的區別 字串 浮點型等都可以隨意指定大小,那麼是不是平時操作的時候隨意指定乙個就可以呢?答 不是,資料型別並不是越大越好,越大的型別會造成資料臃腫,儲存空間占用過大,資料檢索也會變慢 多選一的時候使用的一種資料型別 在前端使用單選框的時...

06 MYSQL資料型別日期字串

整數型別 位元組 取值範圍 取值範圍 tinyint 有符號 128 無符號 0 有符號 127 無符號 255 smallint 有符號 32768 無符號 0 有符號 32767 無符號65535 mediumint 有符號 8388608 無符號 0 有符號 8388607 無符號167721...

mysql物理檔案 MySQL物理檔案組成

mysql物理檔案組成 1.錯誤日誌 error log 錯誤日誌記錄了mysql server執行過程中所有較為嚴重的警告和錯誤資訊,以及mysql server每次啟動和關閉的詳細資訊,在預設情況下,系統記錄錯誤日誌的功能是關閉的,錯誤資訊被輸出到標準錯誤輸出,如果要開啟系統記錄錯誤日誌的功能,...