Mysql
Centos 7 上的 Mariadb 不會根據 my.cnf 更改最大連接數
未遵循 my.cnf 中的以下配置。Max_connections 回到 151。請幫忙,因為我有 16GB 的專用記憶體,我想正確使用。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock #symbolic-links=0 #vish start open_files_limit = 8000 max_connections = 500 #set-variable=max_connections=500 thread_concurrency = 8 #concurrent_insert=2 thread_cache_size=2000 interactive_timeout=180 wait_timeout=180 max_allowed_packet = 32M key_buffer_size = 3000M read_buffer_size = 16M read_rnd_buffer_size = 4M bulk_insert_buffer_size = 256M myisam_sort_buffer_size = 16M myisam_max_sort_file_size = 256M myisam_repair_threads = 1 #myisam_recover = 4 max_heap_table_size = 2048M tmp_table_size = 1024M table_open_cache = 2000 table_cache = 2000 sort_buffer_size = 128M join_buffer_size = 128M query_cache_size = 128M query_cache_limit = 128M #slow_query_log=1 log-slow-queries long_query_time=2 #log_queries_not_using_indexes=1 slow_query_log_file = /var/log/mariadb/host_name-slow.log [mysqldump] user=root password=********* #max_allowed_packet = 1024M [myisamchk] key_buffer_size = 2500M sort_buffer_size = 1024M read_buffer = 32M write_buffer = 32M [innodb] innodb_buffer_pool_size=3G innodb_buffer_pool_instance=2 innodb_additional_mem_pool_size=20M innodb_log_file_size= 512M innodb_log_buffer_size=16M innodb_flush_log_at_trx_commit=1 innodb_thread_concurrency=16 #innodb_read_io_threads=16 #innodb_write_io_threads=16 #innodb_io_capacity=2000 #innodb_lock_wait_timeout=120 innodb_flush_method=O_DIRECT #vish end [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid #!includedir /etc/my.cnf.d
你可能會發現極限不在你想的地方。
我在打開文件限制方面遇到了麻煩,這是由 Centos 自己設置的。請參見:
如何永久提高 ulimit ‘open files’ 和 MySQL ‘open_files_limit’
該連結的一些關鍵點:
ulimit
打開文件的預設值為1024。- MySQL 將其
open_files_limit
設置為系統的 ulimit 設置為。- MySQL無法將其設置為
open_files_limit
高於ulimit
.您可以
ulimit
臨時或永久、全域或為特定使用者提高;有關詳細資訊,請參閱連結。周圍有更多這樣的資源。
檢查 my.cnf 文件的權限 - ls -l /etc/my.cnf 或 ls -l /etc/mysql/my.cnf
檢查所有者和組,通常在編輯 my.cnf 後它對 root 使用者具有隻讀權限
您可以將所有者更改為 mysql:root 或將 cmd 遮罩更改為 755 之類的內容,最後您將擁有:
root@monitor:~# ls -l /etc/mysql/my.cnf -rwxr-xr-x 1 mysql root 2539 Nov 27 10:10 /etc/mysql/my.cnf root@monitor:~#
如果 mysql 使用者無法打開 my.cnf 文件 - 它使用預設值 == 151