在项目中执行插入之后发现添到数据库中的时间与实际不一样
例如 我 insert into table (uid,create_time) values(‘a’,’2018-12-20 01:45:00:000’)
执行完毕后,数据库中发现该记录中的create_time值为2018-12-19 17:15:00:000
所有插入的数据都提前了八个小时,并且传入的值确实是2018-12-20 01:45:00:000没错
在项目中执行插入之后发现添到数据库中的时间与实际不一样
例如 我 insert into table (uid,create_time) values(‘a’,’2018-12-20 01:45:00:000’)
执行完毕后,数据库中发现该记录中的create_time值为2018-12-19 17:15:00:000
所有插入的数据都提前了八个小时,并且传入的值确实是2018-12-20 01:45:00:000没错
报错如下:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 't.line_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:
MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY)
解决:
先查询一下sql_mode
select @@global.sql_mode
它的值为 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
去掉 ONLY_FULL_GROUP_BY
,重新设值
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
然后报错就没有了
2018.12.20 1:30更新:
数据库服务重启之后,又会出现此错误
解决方式:
在配置文件中mysqld里面加入:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
例如,我的是windows版本的数据库, 在my.ini中加入
重启服务后就好了.
tomcat启动后,控制台中文乱码
解决方案:
在tomcat配置中,VM options中加入 -Dfile.encoding=UTF-8
重启tomcat,就好了
IDEA安装后
点击获取注册码
复制激活码,粘贴到 Activation code
点击OK
之后可能还是破解不成功
前往路径 C:\Windows\System32\drivers\etc
用记事本工具打开hosts文件
在最后一行加入此句
0.0.0.0 account.jetbrains.com
重启后即可
MybatisPlugin插件和ledis(IDEA Redis可视化工具)默认是收费的
之前找到的这个破解方式,作者地址已经被封了,还好还留有破解的包,放硬盘里了
Mybatis plugin v3.58 crack (mybatis正版插件)
Iedis v2.56 crack (redis正版插件)
支持 IntelliJ IDEA 2018.1
下载地址:
ideaagent 链接:https://pan.baidu.com/s/1hb7CHytSWsvuOaSBYmwfdw
提取码:bh5g
Mybatis plugin v3.58链接:https://pan.baidu.com/s/1Ffzpe94FDvGJbkMJVc9rrw
提取码:2pkb
Iedis v2.56链接:https://pan.baidu.com/s/1gsFJ4aNrBa-08tZlmLucRg
提取码:nqm3
IntelliJ IDEA 2018.1.3链接:https://pan.baidu.com/s/1evQ12p0dwmBUgukEFdyGUA
提取码:b0y2
我之前有试过其他版本的插件或者其他版本的idea 破解不能成功,所以只能用对应版本的
先安装插件
进入到setting设置面板,进入plugins,点击安装本地插件Install plugin fromdisk…
分别选择安装Mybatis plugin v3.58
和Iedis v2.56 crack
可以看到 两个插件已经加入了插件列表 此时重启idea
重启后在此页面可能会卡,我等了很久,最后任务管理器强制关闭了
再次打开以后,可以看到插件是需要付费才给权限
打开 idea.vmoptions (Help -> Edit Custom VM Options…)
最下方插入 -javaagent:E:\ideaagent-1.2.jar
-javaagent: + 破解文件的路径,此路径不可以有中文
然后重启软件
会提示一个认证信息,点击accept
如果idea版本不对,有可能完全打不开程序,点击没反应
去用户目录下,修改idea.exe.vmoptions文件,删除加的那句话即可
破解完成后,破解文件即可删除
在word中,利用ODBC驱动源,OFFICE宏来控制报表输出
作者博客地址:
工具下载:
链接:
https://pan.baidu.com/s/1y1bERGvKM2oftkY_M5zBVg
提取码:mhtd
根据Mysql数据库的版本下载想用的驱动源
也可去官网下载:
https://dev.mysql.com/downloads/connector/odbc/
打开windows控制面板,管理工具,打开ODBC64(请根据版本自行选择)
点击添加,选择相应版本的Mysql ODBC,点击完成,会出现连接选项
第二步安装成功之后会出现相应的ODBC
8.0版本的会出现两个,一个是 ANSI driver 和 Unicode driver 两个版本。
Unicode driver 版本提供了更多字符集的支持,也就是提供了多语言的支持。而ANSI driver 版本是只针对有限的字符集的范围。
这里以添加8.0Unicode driver为例
数据源名称起名为mysql8
解压压缩包,打开DBExportDoc V1.0 For MySQL.doc
连接数据库,修改相应的用户名密码以及数据源名称
选择相应的表,并导出
第一次尝试就最后导出的一步一直报错,命令无效
后来重启了电脑又好了,此错不知何因
动软官网: http://www.maticsoft.com/download.aspx
网盘下载地址:
链接:https://pan.baidu.com/s/1gLDCjofc9-IV3g_9raan6g
提取码:09hq
解压后运行Codematic2.msi安装,安装成功后,桌面出现
选择新增数据库服务器,选择相应的数据库并连接
然后重启软件
选择数据库和表,点击生成
文档就生成好了
官网:
https://www.python.org/downloads/
安装时,勾选加入环境变量
一定要勾选安装PIP插件
打开CMD命令窗口,输入
pip install Mysql2docx
会自动下载安装Mysql2docx插件
安装完提示你升级PIP18,可以不予理会
CMD命令框继续输入
python
进入到了python命令模式
然后分别输入执行以下三条命令
from Mysql2docx import Mysql2docx
m=Mysql2docx()
m.do('127.0.0.1','root','password','db_test',3306)
最终会在C盘用户目录下生成文档
我在连接本地localhost时,生成的文档是空的,不知为何,远程连接数据库是没问题,可能是因为Mysql的版本??
Java项目连接数据库报时区错误
The server time zone value ‘???ú±ê×??±??’
解决方案:
为URL添加参数serverTimezone=CTT即可,这里的时区可以根据自己数据库的设定来设置(GMT/UTC )。
Java项目访问数据库报错
Could not create connection to database server. Attempted reconnect 3 times. Giving up.
尝试连接了三次,最后放弃
一开始可能认为是配置的错误,后来发现不是
本地数据库用的是Mysql8.0的版本,而数据库连接驱动mysql-connector-java是5.7的
去maven仓库升级jar的版本后就好了
公司的项目在家里打开以后发现两个类报错
查询资料后发现,JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除。这些JAR中可用的类和资源现在以文件中的内部格式存储在lib目录的命名模块中。 可以使用称为jrt的新方案来从运行时映像检索这些类和资源。 依靠这些JAR位置的应用程序将不再工作。
而我家里用的JDK10, 把项目JDK环境换成1.8的版本,就解决了
在下载新的Mysql8.0安装完成后,通过Navicat、sqlyog、或者程序中连接数据库时,提示:Authentication plugin 'caching_sha2_password' cannot be loaded
的错误
mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。
解决方案:
修改用户的密码和加密方式
1.使用cmd命令框进入mysql的bin目录,登录mysql
输入密码时,刚安装完成的用户密码可能为空,直接回车即可
C:\Users\LinPP>E:
E:\>cd E:\mysql-8.0.11-winx64\bin
E:\mysql-8.0.11-winx64\bin>mysql -u root -p
Enter password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
如图,修改了加密方式,并且将密码改为123456,之后即可连接
虽然那几种连接工具能用了 今天使用一款工具发现又出现了同样的问题
解决方案:
Mysql根目录下寻找配置文件 my.ini
若不存在 ,可自行创建
内容:
1 | [mysqld] |
主要是这句
default_authentication_plugin=mysql_native_password
将Mysql的默认加密方式更改为mysql_native_password
之后即可连接