mysql设置常用——修改大小写、设置sql_mode不支持功能、
一,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不支持功能、相关推荐
- 手动修改dns服务器设置,如何修改DNS设置 修改DNS设置方法【详解】
如何修改DNS设置? 提供DNS服务的是安装了DNS服务器端软件的计算机.服务器端软件既可以是基于类linux操作系统,也可以是基于Windows操作系统的.装好DNS服务器软件后,您就可以在您指定的 ...
- 联想thinkpad E431(win7系统)进入bios设置页面修改虚拟化设置
复制虚拟机使用时,出现如下问题: 百度一大波,才知道原因是BIOS未开启虚拟化技术,解决办法是进入bios界面进行修改. 电脑是14年入手的,系统也去重装过几次,进入bios页面又全是英文,百度到的修 ...
- html头文件设置常用之meta设置缓存
<meta http-equiv="pragma" content="no-cache">,pragma与no-cache用于定义页面缓存,不缓存页 ...
- mysql 设置大小写_mysql修改大小写参数注意事项
原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1.但是修改完之后,发现本来建立的大写字母的表查不到. 修改过程 1,在参数文件中 ...
- java 设置mysql 密码_Mysql修改设置root密码的命令及方法
Mysql数据库是PHP网站开发必不可少的组合,通常PHP连接 Mysql都是通过root用户名和密码连接,Mysql在安装时root初始默认密码为空,在安装使用PHP开源系统时,都需要填写连接Mys ...
- php mysql 修改密码_设置及修改MySQL root用户密码
设置及修改MySQL root用户密码 MySQL数据库用户安全策略介绍 安装mysql数据库后,默认的管理员root密码是空,这很不安全,因此需要设置一个密码 为root设置密码 删除无用的MySQ ...
- MySQL 里设置或修改系统变量的几种方法,这个写的非常清晰
比如设置MySQL实例参数wait_timeout为10秒. 1) 设置全局变量方法1(不推荐): 修改参数文件, 然后重启mysqld # vi /etc/my.cnf [mysqld] wait_ ...
- mysql root密码忘记2018_2018-03-28设置及修改mysql用户密码学习笔记
退出mysql方法 quit或者exit 设置及修改mysqlroot用户密码 安装mysql后,默认管理员root密码为空,这很不安全,需要设置一个密码,在安装mysql单实例后,有个初始优化的一些 ...
- mysql 字符设置与修改
[知识性文章转载] MYSQL 字符集问题 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation). 对 ...
最新文章
- 在DataGrid(WebControl)中处理DropDownList事件的补充说明
- 【组合数学】生成函数 ( 线性性质 | 乘积性质 )
- 【计算理论】正则语言 ( 推广型的非确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )
- 图解CodeSmith使用和实用教程一 - 入门和生成MIS项目实体层代码
- .NET 5 的重大改变:消失的历史技术
- MATLAB的GUI如何清空坐标轴的图像
- Delphi面向对象学习随笔一:类与对象的关系
- C#巧妙实现服务器端应用程序和asp网页交互
- 以鶸ice为例,手撸一个解释器(一)明确目标
- 关于AIR 应用程序沙箱
- 线性代数:矩阵运算常用公式
- vue-video-player的使用方法,vue-video-player在移动端点击画面不触发事件不能暂停播放的解决方法
- JMETER Beanshell
- e480Linux无法发现无线网卡,ThinkPad无线不能用无法连接无线网络的具体排查流程图解...
- 林彪-怎样当好一名师长
- 哈工大计算机考研复试考纲,哈尔滨工业大学考研复试大纲
- R语言古风诗人转职c++
- U盘快捷方式文件病毒解决方法
- <论文阅读>CRaft
- The Servers project is closed(Tomcate )