mysql云数据库 磁盘利用率_云数据库MySQL参数的那些事儿
MySQL數據庫參數是數據庫系統運行的關鍵配置信息,設置不合適的參數值可能會影響業務。本文列舉了一些重要參數說明,更多參數詳細說明,請參見MySQL官網。
修改敏感參數
若干參數相關說明如下:“lower_case_table_names;”:
云數據庫默認值:“1;”。
作用:該參數表示創建數據庫及表時,表存儲是否大小寫敏感。設置為默認值“1;”,表示創建數據庫及表時,默認小寫,不區分大小寫,設置為“0;”時,則存儲與查詢均區分大小寫(MySQL 8.0不支持修改該參數)。
影響:修改數據庫主實例默認參數值時,用戶需要手動同步修改只讀實例、災備實例、通過備份恢復至目標實例的參數。當主實例區分大小寫,而只讀實例、災備實例、通過備份恢復至目標實例不區分大小寫時,比如主實例先后創建兩張表,表名分別為 “abc;”、“Abc ;”時,會導致數據同步、數據恢復異常,原因為“abc;”表名已存在。“innodb_flush_log_at_trx_commit;”:
云數據庫默認值:“1;”。
作用:該參數控制提交操作在嚴格遵守ACID合規性和高性能之間的平衡。設置為默認值“1;”,是為了保證完整的ACID,每次提交事務時,把事務日志從緩存區寫到日志文件中,并刷新日志文件的數據到磁盤上;當設為“0;”時,每秒把事務日志緩存區的數據寫入日志文件,并刷新到磁盤;如果設為“2;”,每次提交事務都會把事務日志從緩存區寫入日志文件,每隔一秒左右會刷新到磁盤。
影響:參數設置為非默認值“1;”時,降低了數據安全性,在系統崩潰的情況下,可能導致數據丟失。“sync_binlog;”:
云數據庫默認值:“1;”。
作用:該參數控制MySQL服務器將二進制日志同步到磁盤的頻率。設置為默認值“1;”,表示MySQL每次事務提交,binlog同步寫入磁盤,是最安全的設置;設置為“0;”時,表示MySQL不控制binlog的刷新,由文件系統自己控制其緩存的刷新。此時的性能最好,但風險最大,因為一旦斷電或操作系統崩潰,在“binlog_cache;”中的所有binlog信息都會被丟失。
影響:參數設置為非默認值“1;”時,降低了數據安全性,在系統崩潰的情況下,可能導致binlog丟失。
修改性能參數
若干參數相關說明如下:“innodb_spin_wait_delay;”和“query_alloc_block_size;”依賴于實例的規格,設置過大時,可能會影響數據庫的使用。
“key_buffer_size;”參數值設置較小(小于4096),參數值將修改失敗.
“max_connections;”參數值設置較小,將影響數據庫訪問。
“innodb_buffer_pool_size;”、“max_connections;”和“back_log;”參數依賴于實例的規格,實例規格不同對應其默認值也不同。因此,這些參數在用戶未設置前顯示為“default;”。
“innodb_io_capacity_max;”、“innodb_io_capacity;”參數依賴于磁盤類型,用戶未設置前顯示“default;”。
聯動參數“character_set_server;”:修改該參數的值, 系統會聯動調整“collation_server、“character_set_database;”和“collation_database;”的取值。其中,字符序“character_set_server;”跟字符集“collation_server;”存在對應關系,比如針對MySQL 5.7而言,“character_set_server;”為“latin1;”時,對應的“collation_server;”默認值為“latin1_swedish_ci;”,此時“collation_server;”的取值區間為以“latin1;”開頭的字符序。
“innodb_io_capacity;”:該參數的取值必須小于等于“innodb_io_capacity_max;”的取值。 比如“innodb_io_capacity_max;”為“2000;”, 則“innodb_io_capacity;”最大設置為“2000"。
“innodb_buffer_pool_size;”: 該參數受“innodb_buffer_pool_chunk_size ;”* “innodb_buffer_pool_instances;”的影響,為兩參數乘積的整數倍向上取值。
比如“innodb_buffer_pool_chunk_size;”為“134217728;”,“ innodb_buffer_pool_instances;”為“1;”,那“innodb_buffer_pool_size;”必須大于等于“134217728;”。
其他參數“max_prepared_stmt_count;”:準備大量的語句會消耗服務器的內存資源,參數設置較小,會帶來潛在的“拒絕服務;”的風險,建議您根據業務情況,調整該參數的值。
如下參數的輸入會根據內核規則對取值進行對應的調整。調整的規則如下所示:
“key_cache_age_threshold;”會自動調整為100的倍數。
“join_buffer_size;”和“key_cache_block_size;”會自動調整為128的倍數。
“query_cache_size;”、“query_prealloc_size;”、“innodb_log_buffer_size;”和“max_allowed_packet ;”、“thread_stack ;”會自動調整為1024的倍數。
“read_buffer_size;”、“read_rnd_buffer_size;”、“binlog_cache_size ;”、“binlog_stmt_cache_size ;”會自動調整為4096的倍數。
“data_buffer_size;”、“log_buffer_size;”、“shared_pool_size;”、“temp_buffer_size ;”會自動調整為1048576的倍數。
以上就是供應商-華為云為您整理的云數據庫MySQL參數的那些事兒,您可以前往華為云幫助中心:云數據庫 MySQL了解更詳細的解答,也可前往云社區參與討論。
總結
以上是生活随笔為你收集整理的mysql云数据库 磁盘利用率_云数据库MySQL参数的那些事儿的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何解决长传CSDN图片问题
- 下一篇: vue node --- 前后端联系