Mariadb数据库——设置Mariadb大小写不敏感

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:Ubuntu
  • 数据库:Mariadb

内容

一、忽略大小写配置

在我们日常进行使用Mariadb时通常在程序里面会忽略掉大小写的区别,而Maradb默认安装完成后是区分大小写的,这时如果我们进行创建了数据库与表结构,那么在使用时就需要和其名称、大小写一致方可进行操作。而修改这类配置的操作也很简单,只需要打开/etc/my.cnf中增加如下配置即可:

[mysqld]
lower_case_table_names = 1

保存文件后重启一下服务,这样我们就可以忽略掉大小写。

sudo service mariadb restart

注:如果在修改之前我们已经创建了数据库,这时可能就需要提前将其数据库备份出来,待修改完成后再进行重新创建和导入之前的数据,因为其在默认0时,mariadb的处理机制会严格按照大小写进行进行创建和记录相关,而修改该参数后,所有操作指令都会被转换为小写状态,即我们大写的SQL也会被转换为小写来进行响应,这时就会出现问题,之前大小写创建的数据库将不会被找到。

二、参数值作用

另外该参数具有以下三种值,大家可以根据自己的需要进行修改使用:

  • lower_case_table_names = 0 存储使用传输过来的大小写格式,读取时依旧严格遵循
  • lower_case_table_names = 1 存储使用自动转换后的小写格式,读取比较时不区分大小写。
  • lower_case_table_names = 2 存储使用给定的大小写,读取比较时自动转换为小写。

备注:该参数的修改都需要进行重启数据库后才能生效。

本文声明:
88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

更多推荐