首页 > 数据库 >关于新服务器安装Mysql服务后注意事项:1.表名区分大小写 2.日期中不允许出现值为0

关于新服务器安装Mysql服务后注意事项:1.表名区分大小写 2.日期中不允许出现值为0

时间:2023-01-04 15:36:42浏览次数:36  
标签:-% NO Mysql 值为 大小写 mode 表名 服务器

新购入一台Linux服务器,将项目部署至服务器,项目出现问题记录如下:

1.项目使用JPA,实例类中表名为大写,JPA查询显示该表不存在,原因是Mysql设置中默认表名区分大小写

 show variables like "%case%";

mysql> show variables like "%case%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 0     |
+------------------------+-------+
2 rows in set (0.00 sec)

 将在my.cnf里将lower_case_table_names参数调整为1,改成忽略大小写。

 

2.项目中时间查询,因为日期格式默认为%Y-%m-%d,若查询存在将%Y-%m-%d转换成%Y-%m,select str_to_date(date_format(now(),'%Y-%m'),'%Y-%m') from dual;

  会发现开发环境中时间2023-01-01会转换成2023-01-00,但是生产环境中时间结果为空值

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

执行结果如下:

 

 

 Mysql配置中日期不允许出现0的值,需要修改此值

SET GLOBALsql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

 

注意:此方案为修改配置,日后其他项目出现此问题排查难度较为繁琐,故更好的解决思路为修改代码,避免此问题的发生。

标签:-%,NO,Mysql,值为,大小写,mode,表名,服务器
From: https://www.cnblogs.com/whowell/p/17024952.html

相关文章

  • MySQL删除有外键关联的表
    MySQL删除有外键关联的表现象:Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails原因:在删除表时,删除的表与另外一张表存在外键关联解决:方案一......
  • MySQL 删除时 Data truncation Truncated incorrect DOUBLE value
    MySQL删除时Datatruncation:TruncatedincorrectDOUBLEvalue数据库在删除的时候会做数据类型校验,将字段值转换为你传进去的类型,发现不能转换的就会报错......
  • Mysql5.7的初始密码更改
    软件版本的变化真是让人兴奋……Linux服务器决定安装使用mysql5.7了。愉快的去官网下载安装包:https://dev.mysql.com/downloads/mysql/解决完所有依赖安装……执行sys......
  • Linux下rpm安装MySQL及配置
    Linux下rpm安装MySQL及配置xupeng1644已于2022-03-2211:38:47修改2747收藏15分类专栏:Linux文章标签:rpmMySQLLinux版权Linux专栏收录该内容55篇文章1订阅订......
  • mysql 中的auto_increment自增值
    1.初始化自增值默认值是从1开始,在建表时使用“AUTO_INCREMENT=n”可以来指定一个自增的初始值,比如:CREATETABLEtest(idINTUNSIGNEDNOTNULLPRIMARYKEYAUTO_INCR......
  • 使用 DataX 实现 MySQL 数据的高效同步
    使用DataX实现MySQL数据的高效同步发布于2022-07-1816:07:19阅读 5590 本周赠书《性能之巅》第2版我们公司有个项目的数据量高达五千万,但是因为报表那......
  • mysql 授权远程访问
    进入mysql命令1.进入cd/usr/local/mysql/bin下执行./mysql-uroot-pInfosec@2020 (-p后面是数据库密码)2.usemysql;3.updateusersethost='%'whereuser='r......
  • MySQL最大建议行数2000W?老司机做了个实验……
      一、背景 作为在后端圈开车的多年老司机,是不是经常听到过,“mysql单表最好不要超过2000w”,“单表超过2000w就要考虑数据迁移了”,“你这个表数据都马上要到20......
  • mysql索引简谈
                           mysql索引简谈 一、什么是索引就好比我们在看一本书的时候,有目录的话,我们可以快速定位到想看......
  • 【MySQL】谈谈锁的类型
    前言MySQL中的锁分为表锁以及行锁,从字面意思就可以得知,表锁是对一整张表进行加锁,而行锁是针对于特定的行。在Server层面,提供了表锁的实现,而行锁则由存储引擎实现。Innodb......