mysql大小写敏感配置(centos系统;配置了my.cnf无效问题;Table '' doesn't exist)

一、导语

一次经历,将oracle数据库迁移到mysql中,因为oracle表名都是大写,现在迁移到mysql中也是大写,但是有些sql还是小写,oracle哪边是设置了大小写不敏感,但是mysql默认是大小写敏感,今天这里分享一下如何设置mysql表名大小写不敏感。

二、首先查看当前mysql的大小写敏感配置

  1. 运行下面sql查看
show global variables like '%lower_case%';
  1. 查询出来的结果如下:
Variable_nameValue
lower_case_file_systemOFF
lower_case_table_names0
  1. lower_case_file_system 表示当前系统文件是否大小写敏感,只读参数,无法修改。ON 大小写不敏感 OFF 大小写敏感 (ps:这个我们不需要关注)
  2. lower_case_table_names表示表名是否大小写敏感,可以修改。
    lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。
    lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。

三、修改mysql的my.cnf文件

  1. centos系统中找到my.cnf 的mysql配置文件,一般在/etc/my.cnf 内容如下:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  1. 第七行添加 lower_case_table_names=1 这个配置。(注意这里的这个配置,一定要放在配置文件的中间,否在不启作用,不要放在底部,至少我这里放在底部总是不生效。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值