您现在的位置是:首页 >技术杂谈 >mariadb解决Too many connections报错网站首页技术杂谈

mariadb解决Too many connections报错

含笑的依米 2024-07-09 12:01:02
简介mariadb解决Too many connections报错

1,断开所有连数据的程序或重启mariadb数据库,不然在数据库服务器上运行mysql,都会提示连接太多,无法进入。

 service mysql restart

2,输入:mysql -u root  -p    再输入密码, 进入mysql的编辑环境

3, 输入:show variables like 'max_connections';  显示最大连接数据

mariadb数据库最大连接数,默认是151

4,输入:set GLOBAL max_connections=4096    设置最大连接数,之后再用3中的语句查看

5,上面的方法会立即生效,但是当重启mysql时会失效,你也可以通过修改my.cnf设置默认最大连接数,配置方法:

vim /etc/mysql/mariadb.conf.d/50-server.cnf

# 修改配置 max_connections = 1000

最后重启一下mysql即可。

以下为该配置文件相关参数说明:

[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-locking #避免MySQL的外部锁定,减少出错几率增强稳定性。 skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求! back_log = 384 key_buffer_size = 256M max_allowed_packet = 4M thread_stack = 256K table_cache = 128K sort_buffer_size = 6M read_buffer_size = 4M read_rnd_buffer_size=16M join_buffer_size = 8M myisam_sort_buffer_size = 64M table_cache = 512 thread_cache_size = 64 query_cache_size = 64M tmp_table_size = 256M max_connections = 768 max_connect_errors = 10000000 wait_timeout = 10 thread_concurrency = 8 #该参数取值为服务器逻辑CPU数量*2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4*2=8 skipnetworking #开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接! table_cache=1024 innodb_additional_mem_pool_size=4M #默认为2M innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=2M #默认为1M innodb_thread_concurrency=8 #你的服务器CPU 有几个就设置为几。建议用默认一般为8 tmp_table_size=64M #默认为16M,调到64-256最挂 thread_cache_size=120 query_cache_size=32M

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。