一,MySQL 设置不区分大小写、

***:错误原因:后台java代码连接数据库mysql 报错

java运行报错日志:### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cpw.admin_User' doesn't exist

Linux系统下mysql设置不区分大小写

1,查询当前设置:

查询当前支持的:
mysql> show variables like '%lower%';

lower_case_table_names=1

其中0:区分大小写,1:不区分大小写

lower_case_file_system
表示当前系统文件是否大小写敏感,只读参数,无法修改。
ON  大小写不敏感 
OFF 大小写敏感 
lower_case_table_names
表示表名是否大小写敏感,可以修改。
lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。 
lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。

2,修改设置:


# vim /etc/my.cnf
7 lower_case_table_names=1# systemctl restart mysqld

mysql> show variables like '%lower%';            #修改后查询修改为——1

*** 在部分版本的MySQL下,如果之前有大写的表,修改参数后改表会提示不存在,而且也无法修改,应用程序就操作不了。

问题剖析:

如果在lower_case_table_names=0情况下已经导入了大量的表和数据,表名有大写,有小写,此时再换成lower_case_table_names=1会出错。

解决办法:在lower_case_table_names=0时,将表名全部改成小写的;如果有数据库名称中存在大写字母,也需同时改名,改名方法为新建一个小写的数据库, 再改表名。(最方便的是直接使用MySQL界面客户端修改)

全部改名之后,再设置lower_case_table_names=1,重启MySQL。

更改后查询确认:

3,重启服务测试。

二,修改sql_mode,不支持的查询问题

java代码里查询mysql时报错:

### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cpw.un.SpMoney' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

sql直接运行查询: 报错!!!

mysql> SELECT usi.spreaderID,us.counts,us.phone,us.realName,us.identityCard,SUM(usi.spreadNum) spreadNum,SUM(usi.tradingMoney) tradingMoney ,son.SpMoney-> FROM usr_Spreader us RIGHT  JOIN  usr_SpreadInfo usi ON us.ID=usi.spreaderID LEFT JOIN usr_userextension son ON son.spreaderID=us.ID-> WHERE us.phone=100;                    //查询推广人总额

==============================================================================

解决思路:

MySQL 5.7版本sql_mode=only_full_group_by问题

用到GROUP BY 语句查询时com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by错误

解决方法 :执行SET GLOBAL sql_mode = ''; 把sql_mode 改成非only_full_group_by模式。验证是否生效 SELECT @@GLOBAL.sql_mode 或者 SELECT @@sql_mode:

直接修改也可以:SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

方法 1, 查询sql_mode:

mysql> SELECT @@GLOBAL.sql_mode;
或者 mysql> SELECT @@sql_mode;                    #查询支持的sql_mode

2,修改sql_mode:

mysql> SET GLOBAL sql_mode = '';                #把sql_mode 改成非only_full_group_by模式

方法2,直接修改sql_mode:

mysql> select @@sql_mode;mysql> SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

解决后的查询:

mysql设置常用——修改大小写、设置sql_mode不支持功能、相关推荐

  1. 手动修改dns服务器设置,如何修改DNS设置 修改DNS设置方法【详解】

    如何修改DNS设置? 提供DNS服务的是安装了DNS服务器端软件的计算机.服务器端软件既可以是基于类linux操作系统,也可以是基于Windows操作系统的.装好DNS服务器软件后,您就可以在您指定的 ...

  2. 联想thinkpad E431(win7系统)进入bios设置页面修改虚拟化设置

    复制虚拟机使用时,出现如下问题: 百度一大波,才知道原因是BIOS未开启虚拟化技术,解决办法是进入bios界面进行修改. 电脑是14年入手的,系统也去重装过几次,进入bios页面又全是英文,百度到的修 ...

  3. html头文件设置常用之meta设置缓存

    <meta http-equiv="pragma" content="no-cache">,pragma与no-cache用于定义页面缓存,不缓存页 ...

  4. mysql 设置大小写_mysql修改大小写参数注意事项

    原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1.但是修改完之后,发现本来建立的大写字母的表查不到. 修改过程 1,在参数文件中 ...

  5. java 设置mysql 密码_Mysql修改设置root密码的命令及方法

    Mysql数据库是PHP网站开发必不可少的组合,通常PHP连接 Mysql都是通过root用户名和密码连接,Mysql在安装时root初始默认密码为空,在安装使用PHP开源系统时,都需要填写连接Mys ...

  6. php mysql 修改密码_设置及修改MySQL root用户密码

    设置及修改MySQL root用户密码 MySQL数据库用户安全策略介绍 安装mysql数据库后,默认的管理员root密码是空,这很不安全,因此需要设置一个密码 为root设置密码 删除无用的MySQ ...

  7. MySQL 里设置或修改系统变量的几种方法,这个写的非常清晰

    比如设置MySQL实例参数wait_timeout为10秒. 1) 设置全局变量方法1(不推荐): 修改参数文件, 然后重启mysqld # vi /etc/my.cnf [mysqld] wait_ ...

  8. mysql root密码忘记2018_2018-03-28设置及修改mysql用户密码学习笔记

    退出mysql方法 quit或者exit 设置及修改mysqlroot用户密码 安装mysql后,默认管理员root密码为空,这很不安全,需要设置一个密码,在安装mysql单实例后,有个初始优化的一些 ...

  9. mysql 字符设置与修改

    [知识性文章转载] MYSQL 字符集问题 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation). 对 ...

最新文章

  1. 在DataGrid(WebControl)中处理DropDownList事件的补充说明
  2. 【组合数学】生成函数 ( 线性性质 | 乘积性质 )
  3. 【计算理论】正则语言 ( 推广型的非确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )
  4. 图解CodeSmith使用和实用教程一 - 入门和生成MIS项目实体层代码
  5. .NET 5 的重大改变:消失的历史技术
  6. MATLAB的GUI如何清空坐标轴的图像
  7. Delphi面向对象学习随笔一:类与对象的关系
  8. C#巧妙实现服务器端应用程序和asp网页交互
  9. 以鶸ice为例,手撸一个解释器(一)明确目标
  10. 关于AIR 应用程序沙箱
  11. 线性代数:矩阵运算常用公式
  12. vue-video-player的使用方法,vue-video-player在移动端点击画面不触发事件不能暂停播放的解决方法
  13. JMETER Beanshell
  14. e480Linux无法发现无线网卡,ThinkPad无线不能用无法连接无线网络的具体排查流程图解...
  15. 林彪-怎样当好一名师长
  16. 哈工大计算机考研复试考纲,哈尔滨工业大学考研复试大纲
  17. R语言古风诗人转职c++
  18. U盘快捷方式文件病毒解决方法
  19. <论文阅读>CRaft
  20. The Servers project is closed(Tomcate )

热门文章

  1. 找出网络停机的四大原因—Vecloud微云
  2. 【数据库】数据库单表对比
  3. 字符串的全排列(字典序排列)
  4. 谈判专家(东方化改题+懒得看标程)
  5. Centos下MongoDB的安装与配置
  6. 2017-2018-1 20155321 《信息安全系统设计基础》课下作业3
  7. C++自学笔记_文本查询程序_《C++ Primer》
  8. POJ 3034 Whac-a-Mole [DP]
  9. 索引存储和散列存储(哈希)的区别吧
  10. *58.作业与进程的关系