mysql max_connection config

修改mysql的最大连接数

mysql 5.0的默认最大连接数为100, 对于大负载量的并发需求可能不够,这时你可以修改mysql的最大连接。
查看mysql的当前最大连接数:
mysqladmin -uroot -ppassword variables | grep max_connections
或者
mysql> SHOW GLOBAL VARIABLES WHERE Variable_name=’max_connections';

修改方法有如下几种

1.
mysql> SET GLOBAL max_connections=1000;

修改后会立即生效,不需要重启mysql服务,但是重启后会失效。

2.修改/etc/my.cnf,
在[mysqld] 下面添加:
max_connections=1000

修改后需要重启mysql服务才会重效。
结合第1和第2种方法,可以实现修改立即生效,以后重启也会有效。

3.修改/usr/bin/mysqld_safe
将下面的内容
if test -z “$args”
then
$NOHUP_NICENESS $ledir/$MYSQLD $defaults –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR $USER_OPTION –pid-file=$pid_file –skip-external-locking >> $err_log 2>&1
else
eval “$NOHUP_NICENESS $ledir/$MYSQLD $defaults –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR $USER_OPTION –pid-file=$pid_file –skip-external-locking $args >> $err_log 2>&1″

改为(添加红色字体的内容):
if test -z “$args”
then
$NOHUP_NICENESS $ledir/$MYSQLD $defaults –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR $USER_OPTION –pid-file=$pid_file –skip-external-locking   -O max_connections=1000 >> $err_log 2>&1
else
eval “$NOHUP_NICENESS $ledir/$MYSQLD $defaults –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR $USER_OPTION –pid-file=$pid_file –skip-external-locking $args -O max_connections=1000 >> $err_log 2>&1″

修改后重启mysql服务后有效。

建议用第一和第二种方法进行修改。

配置`db_config.sys`通常是为数据库管理系统设置初始化参数的重要环节,它直接影响系统的性能、稳定性和数据一致性。以下是详细的介绍以及关键步骤: --- ### 一、`db_config.sys`文件的作用 `db_config.sys`是一个用于定义数据库系统启动及运行期间各种参数的配置文件。该文件的内容通常由键值对组成,每行表示一个参数及其对应的值。其作用包括但不限于以下几方面: 1. 设置连接池大小(Connection Pool Size)。 示例:`max_connections = 100` 2. 定义缓冲区缓存比例(Buffer Cache Ratio)。 示例:`buffer_cache_size = 512M` 3. 规定事务日志路径与大小限制。 示例:`log_directory = /var/log/db_logs`, `log_file_size = 1G` --- ### 二、配置的主要内容 #### 1. 数据库存储相关的参数 - **数据目录指定** - 参数名:`data_directory` - 描述:设定存放表空间和其他持久化对象的位置。 - 示例:`data_directory=/opt/database/datafiles` - **索引缓存机制优化** - 参数名:`index_buffer_ratio` - 描述:调整分配给索引结构的比例,默认值一般较低,在高查询负载下适当增加可以提升效率。 - 示例:`index_buffer_ratio=0.3` #### 2. 性能调优选项 - **最大并发线程数** - 参数名:`thread_pool_size` - 描述:控制后台工作线程的最大数量,过大会导致资源争抢而降低整体响应速度;反之则可能出现任务积压现象。 - 示例:对于拥有16核CPU服务器推荐设为:`thread_pool_size=32` - **锁等待超时时间** - 参数名:`lock_timeout_ms` - 描述:当某个事务长时间占用锁定记录时其他请求会进入阻塞状态直至达到此上限才会触发异常退出动作。 - 示例:为了防止死锁循环发生建议保持较短时限例如`lock_timeout_ms=5000`(即5秒钟) #### 3. 日志管理和错误恢复策略 - **启用归档模式** - 参数名:`enable_archiving` - 描述:开启此项功能允许将已完成的所有更改永久保存下来以便灾难情况下快速回滚至最新已知良好版本。 - 示例:生产环境中务必激活该特性通过命令行添加指令`SET GLOBAL enable_archiving=true;`或者直接编辑配置文档内插入上述字段即可生效。 - **清理废弃的日志频率** - 参数名:`expire_logs_days` - 描述:自动删除超过一定天数的历史binary logs有助于节省磁盘空间并减少维护成本。 - 示例:如果只保留最近一周的数据那么应当填写`expire_logs_days=7` --- ### 三、实例分析——MySQL中db_config.sys样例 下面展示了一个基于MySQL的具体案例供参考学习如何撰写此类文件内容。 ```plaintext [mysqld] port = 3306 # MySQL监听端口号 basedir = /usr/local/mysql # MySQL安装根目录 datadir = /var/lib/mysql # 存储数据文件夹位置 socket = /tmp/mysql.sock # UNIX套接字文件地址 pid-file = /var/run/mysqld.pid # 进程标识符文件生成地 character-set-server = utf8mb4 # 默认字符编码集选用支持更多语言文字显示效果更佳的形式如这里选择了UTF8MB4格式兼容表情符号等特殊字符呈现形式 collation-server = utf8mb4_general_ci # 排序规则同样采用相应匹配类型的COLLATION规则集来确保排序检索结果准确无误。 skip-name-resolve = true # 跳过多余DNS解析加快握手过程提高访问速率。 innodb_flush_log_at_trx_commit = 1 # InnoDB引擎提交后立即将修改刷入硬盘保证最高级别的ACID属性符合性但可能会牺牲一定的性能表现为较高的I/O消耗水平。 sync_binlog = 1 # 同步bin log到磁盘操作亦遵循类似准则力求最大限度保障数据完整性不受损害。 key_buffer_size = 256M # MyISAM关键字索引起始加载区域所占内存总量单位换算成兆字节数。 sort_buffer_size = 1M # 单次排序作业临时使用缓冲区内存量度量衡。 read_buffer_size = 1M # 每读取一页所需预分配额外辅助内存额度指标计量尺度同上文描述一致。 join_buffer_size = 2M # JOIN关联运算过程中涉及中间结果暂存在RAM中的配额评估依据也是按照前述规律确立下来的数值体系为准绳制定出来的量化标准方案之一。 ``` --- ### 四、常见误区规避技巧 1. 切勿随意增大所有参数以免造成不必要的浪费甚至引发崩溃风险; 2. 对于冷门或不常用的功能模块无需显式声明默认值就足够应付绝大多数应用场景了; 3. 修改完成后记得重启服务使得改动即时应用上去才有效果体现出来哦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值