MySQL基礎2

一、mysql提示符能夠顯示什麼?
mysql

在my.cnf裏面配置prompt參數的值後:prompt="\\u@\\h [\\d]"
sql

能夠經過man mysql查詢幫助,查看prompt的幫助信息;

二、mysql data目錄文件說明數據庫

auto.cnf -------------------------------》server-uuid
error.log -------------------------------》啓動、錯誤日誌
general.log ---------------------------》經過log_error參數定義
ib_buffer_pool -----------------------》經過innodb_buffer_pool_filename參數定義
ibdata1 --------------------------------》經過innodb_data_file_path參數定義
ib_logfile0 ----------------------------》 redo group log
ib_logfile1 ----------------------------》 redo group log
ib_logfile2 ----------------------------》 redo group log
ibtmp1 --------------------------------》經過innodb_temp_data_file_path參數定義
localhost.pid ------------------------》mysql服務進程號
mysql ---------------------------------》mysql數據庫文件夾
performance_schema ------------》performance_schema數據庫文件夾
slow.log ------------------------------》慢查詢日誌文件,經過slow_query_log_file參數定義
sys ------------------------------------》sys數據庫文件夾

三、慢查詢日誌
slow_query_log參數,指定輸出文件名稱和位置
long_query_time參數,配置query timeout,單位:s秒,默認值:10s
分析工具:mysqldumpslow,pt-query-digest

四、查看sql語句調用統計信息(5.7版本),查看調用次數、併發量等等
select * from sys.statement_analysis;

五、binlog(二進制日誌)
show binary logs; #列出當前的日誌文件及大小
show master status; #顯示mysql當前的日誌及狀態【須要super,replication client權限】
show binlog events in '日誌文件名稱 [mysql-bin.000023]' #mysql二進制日誌是以'事件'爲單位存儲到日誌中,一個insert,update,...有多個事件組成。
expire-logs-days; 參數配置過時時間
通常binlog要保存多久?
看幹什麼用,若是用於從庫同步,同步完就能夠刪除了。
建議:主從庫全開;過時時間:根據磁盤容量,若是一天產生1-2G,能夠保留7天;若是一天一備,保留2天。
binlog的查看,由於binlog日誌對DML語句會加密,如何查看?
mysqlbinlog -v -v 日誌文件名稱;
mysqlbinlog -v --base64-output=decode-rows 日誌文件名稱;

insert,update,delete操做後閃回數據如何操做?
經過binlog,由於insert,update,delete操做時會把原始數據也輸出到binlog中,因此能夠利用binlog閃回數據。

六、審計功能:記錄每一次對數據庫的操做
社區版實現的方法:經過general_log參數,能夠把每次對數據庫的操做記錄到文件中
5.7版本還能夠對query_rewrite_plugin二次開發,攔截到sql to 到elk (有些大型互聯網公司就是採用的這種方式)

七、二進制日誌維護
刪除二進制日誌,根據文件名刪除:purge binary logs to '日誌文件名稱'; #會把指定日誌文件名稱序號前的binlog文件都刪除掉
還能夠利用rm命令,從文件編號小的開始刪除
刪除前先備份

八、MySQL裁剪
主要用於物聯網,節約空間和成本
裁剪base_dir文件夾下面的東西
正常的咱們只須要保留bin/mysqld這個文件就好了,其它的均可以刪除;而後還能夠用 strip mysqld對mysqld文件進一步壓縮其大小
若是須要用的mysql命令,還能夠把bin/mysql文件保留;其它命令相似,用到哪一個也能夠保留哪一個。
裁剪後記得ldd mysqld,驗證下咱們留下來的文件的依賴關係是否完成,若是沒問題就能夠啓動了。
優勢:節約空間,msyql5.7裁剪後從2.7G左右減少到30M左右;缺點:出錯誤後很差排除。併發

相關文章
相關標籤/搜索