My.cnf内の次の構成に従っていません。 Max_connectionsが151に戻ります。適切に使用したい専用のRAMが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
問題を修正しました。問題は、適切な権限で行うことでした。 my.cnfファイルに対する適切な権限は、777ではなく644にする必要があります。
限界はあなたが考えるところではないかもしれません。
オープンファイルの制限に問題があり、Centos自体によって設定されています。見てください:
limit 'open files'およびMySQL 'open_files_limit'を永続的に上げる方法
そのリンクからのいくつかの重要なポイント:
ulimit
は1024です。open_files_limit
をシステムのulimitに設定されているものに設定します。ulimit
よりopen_files_limit
高く設定できません。ulimit
を一時的または永続的に、グローバルに、または特定のユーザーのために調達できます。詳細については、リンクを参照してください。
そのようなリソースはもっとあります。
my.cnfファイルの権限を確認します-ls -l /etc/my.cnfまたはls -l /etc/mysql/my.cnf
所有者とグループを確認します。多くの場合、my.cnfを編集した後、rootユーザーに対して読み取り専用の権利があります。
所有者をmysql:rootに変更するか、または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を使用します
/etc/security/limits.conf
へのその他のいくつかの変更と、調整が必要ないくつかのsystemd
設定があります。詳細については、この記事を参照してください。