這篇文章給大家介紹MySQL數(shù)據(jù)庫安裝后需要進行哪些配置,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)是專業(yè)的那曲網(wǎng)站建設公司,那曲接單;提供成都網(wǎng)站設計、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行那曲網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!基礎設置
這里主要講解 3 個非常重要的 MySQL 性能配置項,你應該經(jīng)常會看到這些參數(shù)。如果你沒有調(diào)整,很可能會遇到問題。
這是任何使用 InnoDB 存儲引擎的 MySQL 在安裝后第一個應該要查看的配置。Buffer pool 是用來緩存數(shù)據(jù)和索引的,應該分配盡可能大的內(nèi)存,以確保在進行大多數(shù)讀取操作時是讀內(nèi)存而不是讀磁盤。典型的設置值為 5-6GB(8GB RAM),20-25G(32GB RAM),100-120GB(128GB RAM)。
這個選項是設置 redo 日志(重做日志)的大小。redo 日志是用來確保寫入的數(shù)據(jù)能夠快速地寫入,并且持久化,還可以用于崩潰恢復(crash recovery)。MySQL 5.1 之前,這個選項很難去進行調(diào)整,因為你既想要加大 redo 日志來提高性能,又想要減小 redo 日志來進行快速的崩潰恢復。幸運的是,自 MySQL 5.5 之后,崩潰恢復的性能有了很大的提高,現(xiàn)在你可以擁有快速寫入性能的同時,還能滿足快速崩潰恢復。一直到 MySQL 5.5,redo 日志的總大小被限制在 4GB (默認有 2 個日志文件)。這個在 MySQL 5.6 中被增加了。
啟動的時候設置 innodb_log_file_size = 512M(也就是 1GB 大小的 redo 日志),這樣可以提供充足的寫空間。如果你知道你的應用是頻繁寫入的,還可以再增大些。
如果你經(jīng)常遇到 "Too many connections" 的錯誤,是因為 max_connections 太小了。這個錯誤很常見到,因為應用程序沒有正確地關閉與數(shù)據(jù)庫的連接,你需要設置連接數(shù)為比默認 151 更大的值。max_connections 設置過高(如 1000 或更高)的一個主要缺點是當服務器運行 1000 個或者更多的事務時,會響應緩慢甚至沒有響應。在應用程序端使用連接池或者在 MySQL 端使用線程池有助于解決這個問題。
從 MySQL 5.5 開始,InnoDB 成為了默認的存儲引擎,并且它的使用頻率比其他存儲引擎的要多得多。這就是要認真配置它的原因。
這個配置項會決定 InnoDB 是使用共享表空間(innodb_file_per_table = OFF) 來存儲數(shù)據(jù)和索引,還是為每個表使用一個單獨的 ibd 文件(innodb_file_per_table= ON)。對每個表使用一個文件的方式,在 drop, truncate, 或者重建表的時候,會回收這個表空間。在一些高級特性,如壓縮的時候也需要開啟使用獨立表空間。然而這個選項卻不能帶來性能的提升。
在 MySQL 5.6 及之后的版本中,這個配置項是默認開啟的,因此多數(shù)情況下,你無需操作。對于早期的 MySQL 版本,需要在啟動前把它設置成 ON ,因為它只對新創(chuàng)建的表有影響。
默認值為 1,表示 InnoDB 完全支持 ACID 特性。例如在在一個主節(jié)點上,你主要關注數(shù)據(jù)安全性,這是好的設置值。然而它會對速度緩慢的磁盤系統(tǒng)造成很大的開銷,因為每次將改變刷新到 redo 日志的時候,都需要額外的 fsync 操作。設置為 2,可靠性會差一點,因為已提交的事務只會 1 秒鐘刷新一次到 redo 日志,但在某些情況下,對一個主節(jié)點而言,這仍然是可以接受的,而且對于復制關系的從庫來說,這是一個很好的值。設置為 0,速度更快,但是在遇到崩潰的時候很可能會丟失一些數(shù)據(jù),這只對從庫是一個好的設置值。
這個設置項決定了數(shù)據(jù)和日志刷新到磁盤的方式。當服務器硬件有 RAID 控制器、斷電保護、采取 write-back 緩存機制的時候,最常用的值是 O_DIRECT;其他大多數(shù)場景使用默認值 fdatasync。sysbench 是一個幫助你在這兩個值之間做出選擇好工具。
這個設置項用來設置緩存還沒有提交的事務的緩沖區(qū)的大小。默認值(1MB) 一般是夠用的,但一旦事務之中帶有大 blob/text 字段,這個緩沖區(qū)會被很快填滿,并引起額外的 I/O 負載??纯?innodb_log_waits 這個狀態(tài)變量的值,如果不是 0 的話,需要增加 innodb_log_buffer_size。
大家都知道查詢緩存是一個瓶頸,即使在并發(fā)量不高的時候也會出現(xiàn)。好的設置就是在第一天使用時就禁用查詢緩存(query_cache_size = 0) ,該選項在 MySQL 5.6 后是默認禁用的,我們可以通過其他途徑來提高查詢速度: 設計好的索引,增長讀寫分離,或者使用額外的緩存 (memcache or redis for instance)。如果您的 MySQL 已經(jīng)啟用了查詢緩存并且從沒有發(fā)現(xiàn)過問題, 那么查詢緩存可能是對你有益的,這個時候如果你想禁用它的時候應該小心操作。
如果要讓一個節(jié)點做為復制關系中的主節(jié)點,啟用二進制日志(binary log)是必須的。同時需要設置全局的 server_id。如果是單實例數(shù)據(jù)庫,如果你要將數(shù)據(jù)恢復到之前時間點(使用新的備份restore,然后使用binlog進行recover),那么就需要二進制日志。二進制日志一旦創(chuàng)建,會被永久保存,所以如果不想耗盡磁盤空間,應該使用 PURGE BINARY LOGS 清理舊的二進制日志文件,或者設置 expire_logs_days 選項指定多少天之后,自動清理過期的二進制日志。
二進制文件記錄是需要消耗資源的,因此在主從復制環(huán)境中,如果備庫不需要 Binlog ,就可以禁用掉。
當一個客戶端連接上來的時候,服務端會執(zhí)行主機名解釋操作,當 DNS 很慢時,建立的連接也會很慢。因此建議在啟動的時候設置 skip-name-resolve 來禁用 DNS 查找。的局限是 GRANT 語句僅且僅能使用 IP 地址,所以,在已有系統(tǒng)中添加這個選項時需要格外小心。
關于MySQL數(shù)據(jù)庫安裝后需要進行哪些配置就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前題目:MySQL數(shù)據(jù)庫安裝后需要進行哪些配置-創(chuàng)新互聯(lián)
URL標題:http://muchs.cn/article40/doogeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、云服務器、做網(wǎng)站、外貿(mào)建站、品牌網(wǎng)站設計、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)