Mariadb的多线程连接问题

在R中使用多线程对数据库进行写入,在本地linux环境下,总是出现线程不够用的问题。而在windows环境下,却不会出现。

个人猜想是由于window下的odbc已经限制的最大连接数,所以不会超过数据库的最大连接数,因此在window下多线程运行不会出现问题。

在本地linux下的时候,由于是本地直连,没有限制。程序在阻塞的时候会不停生成新的线程对数据库进行连接,很容易就达到了数据库的MAX_connection, 导致服务器本地跑脚本的时候线程不足。

后续考虑对脚本的线程数进行限制,达到某个值时不再生成新的线程;

另一方面也可以考虑对生成的连接数进行限制。然后再看下会不会再出现这个问题。

限制连接数的方案,参考Mariadb查看系统连接的命令:

http://www.linuxidc.com/Linux/2016-05/131027.htm

时间: 2024-10-04 17:48:27

Mariadb的多线程连接问题的相关文章

mysql/mariadb学习记录——连接查询(JOIN)

//本文使用的数据表格//persons表中id_p为主键//orders表中id_o为主键,id_p为外键参考persons表中的id_p mysql> select * from persons;select * from orders; +------+----------+-----------+----------------+----------+ | id_p | lastname | firstname | address | city | +------+----------+

群辉 MariaDB 10 远程连接

1. 登录群辉 SSH 2. 执行命令查看MariaDB 安装位置 ps -ef | grep mysql 3. 找到mysql 路劲 进入目录 cd /usr/local/mariadb10/bin/ 4. 进入mysql ./mysql -uroot -p 5. 修改数据库 update user set host = '%' where user = 'root'; ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

centos7安装mariadb(mysql的替代品)

mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SELinux状态: /usr/sbin/sestatus -v 复制代码 #如果SELinux status参数为enabled即为开启状态;如果为关闭可以跳过修改/etc/selinux/config文件 vi /etc/selinux/config 复制代码 将SELINUX=enforcing改

Httpd+PHP+Mariadb

httpd-2.4+php-5.4.16+mariadb-5.5.41之modules模式(prefork) 1.安装所需软件 [[email protected] ~]# yum install httpd php php-mysql mariadb 2.php软件包所生成的文件 [[email protected] ~]# rpm -ql php /etc/httpd/conf.d/php.conf /etc/httpd/conf.modules.d/10-php.conf /usr/lib

[python] 连接MySQL操作

环境:Linux CentOS6.7,python 2.7.13 说明:连接MySQL,进行增删改查操作,并将执行的SQL和耗时记录到日志里 demo: #!/usr/bin/env python # -*- coding:utf-8 -*- import MySQLdb import logging import time ''' 设置日志输出路径和格式 ''' logging.basicConfig(level=logging.INFO,                     format

CentOS 7中mariadb编译安装教程systemctl启动

mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 跟上篇一样只是启动方式改为systemd 安装一些库 yum install gcc gcc-c++ wget net-tools 查看SELinux状态: /usr/sbin/sestatus -v #如果SELinux status参数为enabled即为开启状态;如果为关闭可以跳过修改/etc/selinux/config文件 vi /etc/selinux/config 将SELINUX=enfo

Proxysql,MariaDB 主从复制和读写分离

准备: 4台vm (centos 7.3): 192.168.1.120 proxysql 192.168.1.121 node1 master 192.168.1.122 node2 slave 192.168.1.123 node3 slave 一. 在node1,node2,node3安装mariadb, mariadb-server (以root用户安装) 1. yum安装 # yum install mariadb mariadb-server -y 2. 启动服务 # systemc

CentOS 7配置MariaDB允许指定IP远程连接数据库

防火墙 CentOS7 之前的防火墙是不一样的,比如你要添加3306端口: ## 全部 iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT ## 部分ipiptables iptables -A INPUT -p tcp -s 138.111.21.11 -dport 3306 -j ACCEP service iptables save service iptables restart ## 查看 iptables iptables -

MariaDB安装、卸载以及相关设置(Linux服务器Mysql部署)

一.Centos7上安装Mariadb数据库 a. 安装 yum -y install mariadb mariadb-server b. 启动 systemctl start mariadb c. 系统开启自启动 systemctl enable mariadb d. 接下来进行MariaDB的相关简单配置 (可以设置root用户的密码 / 远程连接等信息) mysql_secure_installation 上面的配置方法,设计到的配置项比较多,如果不需要太多的配置设置,也可以通过mysql