写点什么

天翼云 RDS 数据库如何修改数据库参数

  • 2022 年 3 月 23 日
  • 本文字数:1674 字

    阅读完需:约 5 分钟

天翼云 RDS 数据库支持修改数据库参数。最近遇到几个用户反馈要求天翼云对 MySQL RDS 数据库的库表名修改为大小写不敏感,这可以通过修改 RDS 数据库的参数来实现。今天就用这个实例来讲解一下天翼云 RDS 如何修改数据库参数。

MySQL 数据库对库表名称大小写是否敏感和 MySQL 运行的操作系统有关,因为 Windows 操作系统对大小写不敏感所以运行在 Windows 上的 MySQL 数据库对大小写也不敏感,而 Linux 操作系统对大小写敏感所以运行在 Linux 上的 MySQL 数据库默认情况下对大小写敏感。天翼云 MySQL RDS 数据库的库表名称默认对大小写敏感,这意味着在数据库里 users 表和 Users 表被视为两个表,那么应用软件在进行数据库连接时必须确保数据库表名称的大小写是正确的。

举个例子,现在有一个数据库名为 Test,里面有一个表名称是 Users,如果使用 sql 语句 select * from test.users 查询,MySQL 将返回提示 test.users 表不存在,必须使用 select * from Test.Users 才可以查询到正确的结果。

mysql> select * from test.users;

ERROR 1146 (42S02): Table 'test.users' doesn't exist

mysql> select * from Test.Users;

+--------+

| name   |

+--------+

| 张三   |

| 李四   |

+--------+

2 rows in set (0.00 sec)

由于各种原因,开发人员忽略了大小写问题,就会造成在开发环境下能正常运行的程序移植到天翼云 RDS 数据库后有问题。


下面我们就来通过配置天翼云 RDS 数据库的 lower_case_table_names 参数来解决这个问题。

一、将数据库的库表名称都改为小写

如果需要使 MySQL 数据库忽略大小写,需要先手动把数据库的库名、表名都改成小写。

库名如果有大写,需要重新建库来解决。表名可以使用 rename 命令来修改,本文不再讨论。

如果只是修改其它参数,可略过第一步。

二、创建一个新的 RDS 参数组

首先登录天翼云关系型数据库控制台,点击进入参数组配置。

参数组中已经有 MySQL、PostgreSQL 和 SQLServer 数据库的默认参数组。默认参数组不能修改,因此我们需要创建一个新的参数组。

点击页面上方的“创建参数组”按钮,然后选择需要创建的数据库型号及版本。本例中使用的数据库为 MySQL 5.6,因此参数组系列要选择 MySQL 5.6。点击确定完成创建。


三、修改参数

在参数组列表中找到刚刚新建的参数组,点击编辑按钮进入参数编辑模式。



进入编辑模式后,页面已列出该数据库支持的所有参数。页面上“是否可修改栏”栏显示为“是”的参数,表示这个参数可以修改。“是否需要重启”栏显示为“是”的参数,表示这个参数修改后,需要重启 RDS 数据库才能生效,显示为“否”的参数可以立即生效,不需要重启。同时列表中还对参数的功能有简略的描述。

对应到文章开头提到的设置库表大小写不敏感,需要修改 lower_case_table_names 参数由 0 改为 1。可以在右上角的搜索框中输入 lower_case_table_names,快速找到这个参数。点击值这一列,设置 lower_case_table_names 这个参数为 1,然后点击保存按钮使配置生效。


四、应用参数组到数据库实例

现在 RDS 数据库还是使用的默认参数组,需要把参数组改为刚才经过修改的参数组。

点击进入 RDS 实例管理,找到正在使用 RDS 实例。点击主实例行所在的“管理按钮”


选择到“配置参数组”页面,在“新参数组”下拉中选择第二步创建的参数组,再点击提交。


五、重启 RDS 数据库实例使配置生效

因为 lower_case_table_names 这个参数是需要重启 RDS 实例才能生效的,因此还需要重启 RDS 实例。

回到 RDS 实例管理,点击“重启”按钮使配置生效。


 

六、验证

等 RDS 实例重启后,MySQL 数据库就对大小写不敏感了,select * from Test.Users 和 select * from test.users 两条 SQL 语句都能成功执行了。

mysql> select * from Test.Users;

+--------+

| name   |

+--------+

| 张三   |

| 李四   |

+--------+

2 rows in set (0.00 sec)

mysql> select * from test.users;

+--------+

| name   |

+--------+

| 张三   |

| 李四   |

+--------+

2 rows in set (0.00 sec)


总结

天翼云 RDS 数据库默认已经对数据库进行了很多优化和配置,如果想根据业务需求修改更多的高级配置,就可以根据本文的方法进行进一步的优化配置

 

发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2022.02.22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
天翼云RDS数据库如何修改数据库参数_数据库_天翼云开发者社区_InfoQ写作平台