首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

druid mysql配置详解

Druid 是一个开源的分布式实时分析型数据库,由阿里巴巴发起并贡献主要代码。它支持所有 JDBC 兼容的数据库,如 MySQL、Oracle、SQL Server 等。Druid 提供了强大的监控和扩展功能,被广泛应用于大数据实时分析领域。

Druid MySQL 配置详解

基础概念

  • 数据源(DataSource):Druid 的数据源是对 JDBC 连接池的封装,提供了丰富的监控和管理功能。
  • 连接池(Connection Pool):用于管理数据库连接,提高数据库访问效率。
  • 过滤器(Filter):Druid 提供了多种过滤器,用于监控、日志记录、SQL 解析等。

配置优势

  • 高性能:Druid 的连接池管理机制和 SQL 解析能力可以显著提高数据库访问性能。
  • 实时监控:内置丰富的监控指标,可以实时查看数据库访问情况。
  • 扩展性强:支持自定义过滤器,方便集成其他系统或功能。

类型与应用场景

  • 类型:Druid 主要分为 DruidDataSource 和 DruidPooledConnection 两种类型,前者用于管理数据源,后者用于管理单个数据库连接。
  • 应用场景:适用于大数据实时分析、高并发访问、需要监控数据库性能的场景。

配置示例

以下是一个简单的 Druid MySQL 配置示例:

代码语言:txt
复制
import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

public class DruidConfig {

    private static DataSource dataSource;

    static {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setUrl("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC");
        druidDataSource.setUsername("root");
        druidDataSource.setPassword("password");
        druidDataSource.setInitialSize(5);
        druidDataSource.setMinIdle(5);
        druidDataSource.setMaxActive(20);
        druidDataSource.setMaxWait(60000);
        druidDataSource.setTimeBetweenEvictionRunsMillis(60000);
        druidDataSource.setMinEvictableIdleTimeMillis(300000);
        druidDataSource.setValidationQuery("SELECT 1");
        druidDataSource.setTestWhileIdle(true);
        druidDataSource.setTestOnBorrow(false);
        druidDataSource.setTestOnReturn(false);
        druidDataSource.setPoolPreparedStatements(true);
        druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(20);
        dataSource = druidDataSource;
    }

    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }
}

遇到问题及解决方法

  • 连接超时:如果遇到连接超时问题,可以尝试增加 maxWait 参数的值,或者优化数据库性能。
  • 连接泄漏:确保在使用完数据库连接后及时关闭连接,避免连接泄漏。可以通过设置 removeAbandonedremoveAbandonedTimeout 参数来监控和处理泄漏的连接。
  • SQL 解析错误:如果遇到 SQL 解析错误,可以检查 SQL 语句是否正确,或者尝试更新 Druid 到最新版本。

参考链接

请注意,以上配置示例和参考链接仅供参考,实际使用时请根据具体需求和环境进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

druid配置详解表

druid配置详解表 属性 说明 建议值 url 数据库的jdbc连接地址。一般为连接oracle/mysql。示例如下: mysql : jdbc:mysql://ip:port/dbname?...正常close连接时设置为true removeAbandonedTimeout 设置druid 强制回收连接的时限,当程序从池中get到连接开始算起,超过此 应大于业务运行最长时间 值后,druid...logAbandoned 当druid强制回收连接后,是否将stack trace 记录到日志中 true testWhileIdle 当程序请求连接,池在分配连接时,是否先检查该连接是否有效。...resultSetType, int resultSetConcurrency) maxPoolPrepareStatementPerConnectionSize 每个连接最多缓存多少个SQL 20 filters 这里配置的是插件...比如设置一些连接池统计方面的配置。 druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 比如设置一些数据库连接属性:

14110
  • Mysql配置详解

    配置文件 vi /data/$DOCKER_NAME/conf/my.cnf # 下载容器镜像 # docker search mysql docker pull mysql:5.7 # 运行容器...安装 二、配置文件 # 客户端登录配置 [client] port = 3306 # 端口号 socket = /var/lib/mysql/mysql.sock # 套接字文件 # 客户端命令行配置...[mysql] no-auto-rehash # 默认不自动补全 auto-rehash自动补全 # 服务优化配置 [mysqld] skip-grant-tables # 跳过登录验证 user...) skip-name-resolve = 1 #跳过主机名解析,直接IP访问,可提升访问速度 log-error = /data/log/mysqld_error.log #错误日志文件 # 重要配置...小于1G expire_logs_days = 7 # 清除过期日志 # 主从复制相关 server-id = 2020 #主从复制必须,并且各服务器具有唯一性 log_slave_updates #配置从服务器的更新是否写入二进制日志

    1.4K20

    MySQL 主从配置详解

    https://blog.csdn.net/wh211212/article/details/52856256 #MySQL 主从配置 目录: MySQL 主从原理 MySQL...主从配置 MySQL 主从一致性检查 MySQL 主从错误处理 参考链接 一、mysql主从原理 1....二、mysql主从配置 1.基础环境配置 数据库版本: mysql 5.5.48 ( Slave 版本可以大于或者等于 Maste r版本) 操作系统: CentOS 6.7 x86_64 mininal...4.Master 服务器配置: 修改配置都需要修改 MySQL 的数据库配置文件,默认是 /etc/my.cnf 4.1 开启二进制日志 log-bin=mysql-bin 改成log-bin=/...注意事项 主库和从库的数据库名必须相同; 主库和从库的复制可以精确到表,但是在需要更改主库或从库的数据结构时需要立刻重启slave; 不能在mysql配置文件里直接写入master的配置信息,需要用change

    3.5K60

    mysql配置参数详解

    其中,MySQL配置参数是影响数据库性能的重要因素之一。本文将对MySQL配置参数进行详解。...MySQL配置参数可以分为以下几个方面:内存配置、查询缓存配置、连接配置、MyISAM存储引擎配置、InnoDB存储引擎配置、复制配置、日志配置、锁配置等。...复制配置MySQL支持主从复制,可以将一个服务器上的数据复制到其他服务器上。在复制配置方面,需要注意以下参数:(1)server-id:该参数指定MySQL服务器的ID号。...日志配置在日志配置方面,需要注意以下参数:(1)log_error:该参数指定MySQL服务器错误日志的文件名。错误日志记录了MySQL服务器发生的所有错误信息。...在进行MySQL配置时,需要注意以下几点:(1)要对MySQL服务器的硬件配置和负载情况进行充分的了解,才能进行合理的参数设置。(2)要根据不同的存储引擎进行不同的配置,以获得最佳的性能。

    2.7K20

    Druid架构设计思想详解

    小编说:Druid 的目标是提供一个能够在大数据集上做实时数据消费与探索的平台。对普遍的数据平台来说,数据的高效摄入与快速查询往往是一对难以两全的指标,但Druid 是怎么做到的呢?...本文选自《Druid实时大数据分析原理与实践》。 对于目前大多数Druid 的使用场景来说,Druid 本质上是一个分布式的时序数据库,而对于一个数据库的性能来说,其数据的组织方式至关重要。...Druid架构便顺理成章地吸取了 LSM-tree的思想。...Druid对命令查询职责分离模式( CQRS)的借鉴如下图。 Druid对命令查询职责分离模式(CQRS)的借鉴 Druid的上述架构特点为其带来了如下显著的优势。...基于 DataSource与 Segment的数据结构 与 Druid架构相辅相成的是其基于 DataSource与 Segment的数据结构,它们共同成就了 Druid的高性能优势。 1.

    89110

    Sys系统库 · MySQL 5.8 MySQL 配置详解

    sys系统库使用的基础环境MySQL版本要求sys系统库支持 MySQL 5.6 及以上版本。需要使用 MySQL 5.8 或更高版本,因为这些版本已经充分支持sys系统库的所有功能。...启用这些配置:可以通过sys库中的存储过程来启用这些配置,而不必手动执行复杂的SQL语句:CALL sys.ps_setup_enable_instrument('wait');CALL sys.ps_setup_enable_instrument...在这种情况下,可以通过sys系统库的存储过程快速恢复performance_schema的默认配置。...恢复默认配置:CALL sys.ps_setup_reset_to_default(TRUE);这个命令将重置performance_schema中的所有instruments和consumers,恢复其默认的性能数据收集配置...通过合理配置和使用sys系统库,可以更轻松地维护和优化MySQL数据库。

    14710

    MySQL 5.8 Performance Schema 配置详解

    图片MySQL 5.8 Performance Schema 配置详解MySQL 的 Performance Schema 是一个用于监控和优化数据库性能的子系统,专门用来收集 MySQL 服务器的运行情况和性能指标...本文将详细介绍如何在 MySQL 5.8 中配置 Performance Schema,涵盖编译时配置、启动时配置以及运行时配置。为了让大家更容易理解,我还会加入具体的操作示例。...启动时配置Performance Schema 的配置在 MySQL 启动时生效,这意味着任何在运行过程中收集的数据都会保存在内存中,一旦 MySQL 实例停止,这些数据会丢失。...因此,想要持久化配置项,我们可以在 MySQL 配置文件(通常为 my.cnf)中添加相关配置,确保每次启动时自动加载这些配置。...虽然这些配置在启动之后不能通过 SHOW VARIABLES 命令查看,但可以在 MySQL 配置文件中定义这些选项。

    90010

    awstats mysql_Awstats 配置详解

    不同的日志格式对应不同的日志格式的设置: 一、若对运行在apache上的网站产生的日志(combined格式)进行分析则在/etc/awstats/awstats.www.123.com.conf文件中配置...: LogType=W LogFormat=1 二、若要对运行在nginx上的网站产生的日志进行分析,首先需要在nginx的配置文件nginx.conf中更改产生日志的格式: log_format main...$http_x_forwarded_for’; access_log logs/access.log main; 然后在/etc/awstats/awstats.www.123.com.conf文件中配置...‘ ‘”$http_user_agent”‘; access_log logs/access.log main; 则在/etc/awstats/awstats.www.123.com.conf文件中配置...网上某些文章的nginx.conf中log_format后面加了$http_x_forwarded_for(来源ip),然而其在/etc/awstats/awstats.www.123.com.conf文件中配置还是

    50910

    Druid 集群方式部署 —— 配置调整

    我们将会按照下面的配置方式进行配置: Historical druid.processing.numThreads: 基于配置的新硬件环境,设置为 (num_cores - 1) druid.processing.numMergeBuffers...: 保持不变 druid.indexer.fork.property.druid.processing.numThreads: 保持不变 在完成上面配置后的结果如下: 集群 Historical (使用...=1 Query 服务 你可以将已经在独立服务器部署中存在的配置文件拷贝到 conf/druid/cluster/query 目录中完成部署。...如果新的服务器的硬件配置和独立服务器的配置是相对的话,新的部署不需要做修改。...server (m5.2xlarge) 在 conf/druid/cluster 文件夹中的配置文件已经针对上面的硬件环境进行了优化,针对基本情况的使用来说,你不需要针对上面的配置进行修改。

    92600
    领券