mysql不区分大小写、设置连接数

本文详细介绍如何通过修改配置文件来优化MySQL性能,包括调整连接数、超时时间、字符编码及大小写敏感性设置,确保数据库高效稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开配置文件 添加一下配置 vi /etc/my.cnf

mysql 设置连接数、超时时间:

          #超时时间

          wait_timeout = 600

          #连接数

          interactive_timeout = 600

mysql设置不区分大小写

         #大小写区分

         lower_case_table_names = 1

      查询是否修改成功:

sql: show variables like '%case%';

释:lower_case_table_names 为  1  代表着不敏感,0代表着敏感。

mysql 修改字符编码集:

设置字符集:

#设置字符集

character_set_server = utf8

查询当前字符集:

show VARIABLES like 'character%';

在线设置字符集:

/*建立连接使用的编码*/
set character_set_connection=utf8;
/*数据库的编码*/
set character_set_database=utf8;
/*结果集的编码*/
set character_set_results=utf8;
/*数据库服务器的编码*/
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;

注:

1、一定要将参数放在[mysqld]节点下。

2、只要在创建表的时候指定collate为utf8_bin,就可以实现大小写敏感,如果建表时未指定,则可修改字段的校对规则,也可以实现大小写敏感。

<think>好的,用户之前询问了OceanBase 5.7在生产环境中调整租户配置的注意事项,现在他们接着问有没有关于最大连接数、SQL模式的大小写敏感等配置。我需要先回顾之前的回答,看看有没有遗漏这些点。之前的回答里确实没有提到最大连接数大小写敏感的问题,所以用户可能在使用过程中遇到了相关问题,或者在配置时发现了这些选项的存在。 首先,我需要确认OceanBase 5.7是否支持这些配置。根据OceanBase的文档,最大连接数确实是一个重要的参数,尤其是在生产环境中,控制连接数可以防止资源耗尽。而SQL模式中的大小写敏感通常涉及到数据库的排序规则和字符集设置,这也是用户常见的配置需求。 接下来,要分析用户可能的真实需求。用户提到“没有最大连接数、SQL模式大小写敏感信息等配置吗”,可能是在之前的回答中没有找到这些内容,或者在实际操作中找到相关配置的位置。需要详细解释这些配置是否存在,如何设置,以及注意事项。 关于最大连接数,OceanBase中的租户资源确实包括连接数限制,通常通过资源单元(UNIT)来配置。需要说明如何查看和修改最大连接数,以及生产环境中的建议值。例如,使用`MAX_SESSION_NUM`参数,并建议根据实际负载调整,同时配合连接池使用。 然后是SQL模式的大小写敏感问题。这里可能需要区分表名、列名的大小写敏感和字符串值的大小写敏感。在OceanBase中,默认情况下,表名和列名是否区分大小写取决于系统变量`lower_case_table_names`,而字符串比较则与字符集的排序规则有关,例如`utf8mb4_general_ci`是大小写敏感的,而`utf8mb4_bin`是敏感的。需要指导用户如何修改这些设置,并注意在数据库初始化时的设定,因为某些变量一旦设置后无法更改。 此外,用户可能还关心这些配置对现有数据和应用的影响。例如,修改大小写敏感设置后,可能需要重新处理现有数据或调整应用程序代码,以避免意外错误。需要提醒用户在生产环境中修改这些配置前进行充分的测试,并备份数据。 还需要考虑用户可能的误解,例如是否将OceanBase与MySQL的配置混淆,因为OceanBase兼容MySQL,但某些参数可能有所同。需要确认OceanBase 5.7的具体参数名称和设置方式,确保提供的信息准确。 最后,总结这些配置的重要性,并给出最佳实践建议,帮助用户在生产环境中合理配置,确保系统稳定和性能优化。</think>在OceanBase 5.7生产环境中,**最大连接数**和**SQL模式大小写敏感**是直接影响系统稳定性和兼容性的关键配置。以下是具体配置项及操作指南: --- ### 一、最大连接数配置 #### 1. **租户级连接限制** - **参数名**:`MAX_SESSION_NUM`(控制租户最大会话数) - **查看当前配置**: ```sql SHOW PARAMETERS LIKE 'max_session_num'; ``` - **修改配置**(需通过`sys`租户操作): ```sql ALTER SYSTEM SET max_session_num = 5000 TENANT = 'your_tenant'; ``` - **生产建议**: - 按公式估算:`建议值 = (CPU核数 * 1000) * 0.8` (例如:8核服务器建议设置`6400`) - 必须配合连接池使用,避免短连接风暴 #### 2. **用户级连接限制** - 限制单个用户的并发连接数: ```sql CREATE USER 'app_user' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 100; ``` --- ### 二、SQL模式与大小写敏感 #### 1. **表名/列名大小写敏感** - **控制参数**:`lower_case_table_names` - `0`:区分大小写(Linux默认) - `1`:区分大小写(Windows默认) - **查看当前模式**: ```sql SHOW VARIABLES LIKE 'lower_case_table_names'; ``` - **重要警告**: *该参数需在初始化集群时设置,后期无法修改!* 生产环境建议统一设置为`1`(区分大小写),避免跨平台迁移问题。 #### 2. **字符串比较大小写敏感** - 通过字符集排序规则控制: - `utf8mb4_general_ci`:区分大小写(默认) - `utf8mb4_bin`:区分大小写 - **修改列级规则**: ```sql ALTER TABLE orders MODIFY COLUMN order_no VARCHAR(32) COLLATE utf8mb4_bin; ``` #### 3. **SQL模式兼容性** - 控制SQL语法严格性(如`ONLY_FULL_GROUP_BY`等): ```sql SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'; ``` - **推荐生产配置**: ```sql sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' ``` --- ### 三、关联配置注意事项 | 配置项 | 关联影响 | 检查方法 | |-------------------------|-----------------------------------|-----------------------------------| | 连接数超限 | 引发`ERROR 1226 (42000): User...` | `SHOW PROCESSLIST` | | 大小写敏感一致 | 索引失效、查询报错 | `EXPLAIN`分析执行计划 | | SQL模式过严 | 应用SQL报错增多 | 测试环境开启`sql_mode`严格模式 | --- ### 四、生产环境操作规范 1. **连接数调优步骤**: - 监控现有连接使用峰值: ```sql SELECT tenant_name, active_sessions FROM oceanbase.GV$OB_TENANTS; ``` - 采用阶梯式调整(每次增减超过20%) - 配合`wait_timeout`自动释放空闲连接: ```sql SET GLOBAL wait_timeout = 600; -- 单位:秒 ``` 2. **大小写敏感一致性保障**: - 数据库初始化时明确设置`lower_case_table_names` - 全库统一字符集排序规则: ```sql ALTER DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` --- ### 五、故障排查示例 **场景**:应用报错`Table 'TEST_TBL' doesn't exist` **诊断步骤**: 1. 检查实际表名: ```sql SHOW CREATE TABLE test_tbl; -- 观察表名存储形式 ``` 2. 确认`lower_case_table_names`设置: ```sql SHOW VARIABLES LIKE 'lower_case%'; ``` 3. 解决方案: - 重命名表名为全小写 - 或修改应用SQL统一大小写格式 --- **关键建议**: 1. 在压力测试中验证连接数限制的触发场景 2. 数据库设计阶段明确大小写规范,禁止混合使用 3. 使用OceanBase的`INFORMATION_SCHEMA`监控配置生效状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值