資料表檔案
日誌檔案
系統檔案(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每次啟動和關閉的詳細資訊,在預設情況下,系統記錄錯誤日誌的功能是關閉的,錯誤資訊被輸出到標準錯誤輸出,如果要開啟系統記錄錯誤日誌的功能,...