Mysql大小写敏感问题 我会带着你远行 2022-06-14 04:45 186阅读 0赞 前几天项目发布到centos上去,访问登录界面没问题,一点登录就有问题,有点怀疑是数据库连接异常了。今天找到了问题的所在。 先描述下找问题的流程: 在终端输入tail -f catalina.ou命令能实时看到tomcat的输出, ![Center][] ![Image 1][] 我这问题就很明显了,就是找不到对应的表,为什么呢?在图形化界面访问,表名的大小写是不敏感的,在命令行就出问题了,一试果然。以前没有在命令行上使用还没发现,现在就出问题了=。= 上解决方案 vi /etc/my.cnf //修改my.cnf i //进入插入模式 在\[mysqld\]下面添加low\_case\_table\_names=1 //大小写不敏感 按esc //进入命令行模式 :wq //退出并保存 service mysqld restart //重启mysql服务 下面是我的\[mysqld\]配置部分 ![Center 1][] ![Image 1][] 度娘完整版: 1、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写; 2、用root帐号登录后,在/etc/my.cnf 中的\[mysqld\]后添加添加lower\_case\_table\_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写; lower\_case\_table\_names参数详解: lower\_case\_table\_names = 0 其中 0:区分大小写,1:不区分大小写 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的; 4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写。 3、如果想在查询时区分字段值的大小写,则:字段值需要设置 [BINARY][]属性,设置的方法有多种: A、创建时设置: CREATE TABLE T( A [ VARCHAR][VARCHAR](10) [ BINARY][BINARY] ); B、使用alter修改: ALTER TABLE \`tablename\` MODIFY COLUMN \`cloname\` [VARCHAR][](45) [ BINARY][BINARY]; C、mysql table editor中直接勾选BINARY项。 [Center]: /images/20220614/45391b3f24a543299d3706c68ed01399.png [Image 1]: [Center 1]: /images/20220614/698278c7628242ac8cebce4cbb845e4f.png [BINARY]: https://www.baidu.com/s?wd=BINARY&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uH-BnARLuW6LPH6zryw90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWcvP1nYnjmsP16vPjTYnW0zr0 [VARCHAR]: https://www.baidu.com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uH-BnARLuW6LPH6zryw90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWcvP1nYnjmsP16vPjTYnW0zr0
还没有评论,来说两句吧...