AutoCreate

0001_mysql 5.7.25安装初始化

余生长醉 提交于 2021-02-02 15:29:24
一. 下载mysql    https://dev.mysql.com/downloads/mysql/ 二. 选择社区版本 三. 选择版本下载: 四. 跳过注册直接下载: 五. 解压后的文件目录: 六. 配置mysql的环境变量, 右键计算机属性→高级→环境变量 添加系统环境变量MYSQL_HOME值为刚才解压的目录 追加path路径为: ; %MYSQL_HOME%\bin; 注意前后分号 七. 创建data目录和my.ini文件: 创建data目录     a) 使用管理员打开命令行工具 b) 切换到mysql刚才的解压目录, 并执行 mysqld --initialize-insecure --user=mysql 命令 c) 这里可能会报错 MSVCR120.dll是C++的一个库文件, 可以去 https://www.microsoft.com/en-us/download/details.aspx?id=40784 下载, 然后安装即可 d) 然后在执行一遍上面的命令, 发现data目录已经创建: 创建my.ini文件:   [client]   port=3306   default-character-set=utf8   [mysqld]   # 设置为自己MYSQL的安装目录   basedir=C:\mysql-5.7.25-winx64   #

Mysql字段类型date, datetime设置0000-00-00默认值报错问题

痴心易碎 提交于 2021-02-01 20:51:18
解决方案: 1、使用root登陆数据库 命令界面执行 select @@sql_mode; 返回 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2、继续执行 SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregated column

不想你离开。 提交于 2021-01-14 02:38:40
今天在Ubuntu下的部署项目,发现一些好好的列表页面发生 1055 :Expression # 11 of SELECT list is not in GROUP BY clause and contains nonaggregated column ' ppm_c.ppm_flow_starting_dealing.status ' 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。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。) 解决方法: 1.临时修改 查询 select @@global .sql_mode 重新设置值 set @@global .sql_mode

SELECT list is not in GROUP BY clause and contains nonaggregated

瘦欲@ 提交于 2021-01-13 17:52:48
安装了mysql5.7,用group by 查询时抛出如下异常 SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'kanxf.o.down_uid' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 解决办法 第一步 mysql > set global 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 > set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE

(二)msyql杂项配置

泄露秘密 提交于 2020-12-23 11:31:39
1.杂项配置 1.1 设置大小写不敏感 查看大小写是否敏感 mysql> show variables like '%lower_case_table_names%' 提示:windows系统默认大小写不敏感,但是linux系统是大小写敏感的 设置大小写不敏感 [root@hadoop102 ~]$ vim /etc/my.cnf #追加如下内容,然后重启服务 [mysqld] lower_case_table_names = 1 # 0 大小写敏感 # 1 大小写不敏感 # 2 创建的表和DB依据语句上格式存放,凡是查找都是转换为小写进行 注意:如果要设置属性为大小写不敏感,要在重启数据库实例之前就需要将原来的数据库和表转换为小写,否则将找不到数据库名。 在进行数据库参数设置之前,需要掌握这个参数带来的影响,切不可盲目设置。 1.2 sql_mode sql_mode 定义了对M ysql 中sql语句语法的校验规则! sql_mode是个很容易被忽视的变量,如果设置为空值(非严格模式),在这种情况下是可以允许一些非法操作的,比如允许一些非法数据的插入。 在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。 1.2.1 sql_mode的常用值 O NLY_FULL_GROUP_BY 对于GROUP BY聚合操作

mysql 8.0下的SELECT list is not in GROUP BY clause and contains nonaggregated column

偶尔善良 提交于 2020-12-21 19:22:21
mysql的版本 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 在执行group by时遇到报错,具体如下 mysql> select * from api_properties GROUP BY file_id order by file_id; 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'bim.api_properties.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 记得上次在5.7下也遇到了同样的问题 5.7的 win下修改my.ini,添加 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,NO_ENGINE

Android AIDL 使用

被刻印的时光 ゝ 提交于 2020-12-19 13:10:39
一、概述: AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写。 其主要作用是用于进程间额通讯。 在Android系统中,每个进程都运行在一块独立的内存中,在其中完成自己的各项活动,与其他进程都分隔开来。可是有时候我们又有应用间进行互动的需求,比较传递数据或者任务委托等,AIDL就是为了满足这种需求而诞生的。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法,从而满足进程间通信的需求。 二、语法: 1、支持的数据类型: 八种基本数据类型: byte、char、short、int、long、float、double、boolean String,CharSequence 实现了Parcelable接口的数据类型 List 类型。List承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 Map类型。Map承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 2、 AIDL文件可以分为两类。一类用来声明实现了Parcelable接口的数据类型,以供其他AIDL文件使用那些非默认支持的数据类型。还有一类是用来定义接口方法,声明要暴露哪些接口给客户端调用,定向Tag就是用来标注这些方法的参数值。 3、

mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决

不羁岁月 提交于 2020-12-01 21:23:29
表结构: DROP TABLE IF EXISTS `t_consts_classify`; CREATE TABLE `t_consts_classify` ( `id` int ( 11 ) NOT NULL AUTO_INCREMENT, `name` varchar ( 100 ) NOT NULL DEFAULT '' COMMENT ' 名称 ' , `code` varchar ( 50 ) NOT NULL DEFAULT '' , `parent_code` varchar ( 50 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 父级别code ' , `sort` int ( 11 ) NOT NULL DEFAULT ' 0 ' COMMENT ' 排序 ' , `create_time` datetime NOT NULL DEFAULT ' 0000-00-00 00:00:00 ' , `create_user` varchar ( 32 ) NOT NULL DEFAULT ' system ' , `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , `update_user` varchar ( 32

一言难尽,Jpa这个功能差点让我丢了工作

北城以北 提交于 2020-11-29 03:30:33
故事背景 前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。 故事细节 在 Spring Boot 中使用 jpa 来操作数据库,jpa 就不做详细的介绍了,相信大家都有所了解或者也用过。 在 jpa 中有一个配置项,可以让程序在启动的时候自动初始化表结构或者更新表结构的功能。听上去很不错,非常实用。 其实这是一个非常危险的功能,个人觉得不应该提供这种功能,只要留了口子就有可能会出问题。 这个配置就是: spring.jpa.hibernate.ddl-auto create( 危险系数 2 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 create-drop( 危险系数 3 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 程序停止的时候会将数据库中所有表删除掉。 update( 危险系数 1 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会判断有没有新增字段或者修改长度之类的,如果有则会更新表结构,不会影响数据。 validate( 危险系数 0 颗星 ) validate 不会更新和删除表或者数据

mysql报错处理:incompatible with sql_mode=only_full_group_by

空扰寡人 提交于 2020-11-25 02:02:02
问题: 服务报错:incompatible with sql_mode=only_full_group_by,如下图所示: 分析: NLY_FULL_GROUP_BY是MySQL提供的一个sql_mode,通过这个sql_mode来提供SQL语句GROUP BY合法性的检查。各种精确查询会报错 解决方案: 1. 执行以下sql,关闭ONLY_FULL_GROUP_BY(这种方式在重启mysql后会失效) set @@GLOBAL.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'; 2. 修改/etc/my.cnf(重启后仍然生效) 在mysqld下添加: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服务,OK! 3. 查看sql_model参数: SELECT @@GLOBAL.sql_mode; SELECT @