zoukankan      html  css  js  c++  java
  • linux下Mysql的大小写敏感

    现象

    windows开发环境下一切正常,部署到linux服务器上后,启动系统报以下错误:

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'soc.QRTZ_LOCKS' doesn't exist

    错误信息:找不到soc数据库下的QRTZ_LOCKS表!但是我打开navicat看到soc库下是存在qrtz_locks表的,而且同样的数据库和代码在windows下是没问题的。

    问题

    1:mysql对字段名,表名,数据库名是敏感的;

    2:但是在windows下是默认不敏感,在linux下默认是敏感的;

    3:所以windows下,在代码中访问mysql的QRTZ_LOCKS表时,mysql可以用它的qrtz_locks表来接受sql请求;

    4:但是在linux下,如果在代码中访问mysql的QRTZ_LOCKS表时,mysql不会用qrtz_locks表来接受sql请求,而会报找不到QRTZ_LOCKS表的错误。

    解决方案

    在windows下执行命令,查看mysql系统变量可以看到如下:

    show variables like '%lower_case_table_names%';

    这里写图片描述

    值为1,表示是大小写不敏感,而linux下的mysql的此系统变量是0,表示是大小写敏感

    可以修改linux下mysql的此系统变量的值为1,让其大小写不敏感就可以解决开头说的问题了。

    linux下修改大小写敏感的系统变量

    1:找到mysql的配置文件

    /etc/mysql/mysql.conf.d/mysqld.cnf

    2:在[mysqld]标签下添加

    lower_case_table_names=1

    mysql配置

    3:重启mysql服务,并查看该系统变量,会发现变量值已经变为1。

  • 相关阅读:
    MSP430程序库<二>UART异步串口
    MSP430程序库<五>SPI同步串行通信
    MSP430程序库<四>printf和scanf函数移植
    短信猫的实现(C#)类库开源啦
    短信猫软件的实现(C#)<十三>超长短信
    Linq to SQlite的使用
    MSP430程序库<三>12864液晶程序库
    查看Linux中自带的jdk ,设置JAVA_HOME
    [linux] vimrc
    [C#] socket demo
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302403.html
Copyright © 2011-2022 走看看