![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Peter447
学而时习之,不亦说乎
展开
-
MySQL迁移data目录
这个就是用户信息,如果重新启动MySQL服务,还是启动不起来的话,就检查一下这个slow.log的日志,里边会有提示。找到之后,把这个地方修改一下,就把data目录修改了,这个时候一定要注意,修改完,这个文件的保存编码格式一定要选,MYSQL数据库有时候安装好了,想移动一下data目录,但是又不想重新安装一下,就只能想办法把这个目录迁移一下。,一定要注意,要不然就会报错,然后修改迁移后的目录权限,一定要给MySQL的用户添加所有用户权限,按照日志里的提示,解决这些问题后,就正常了,一般都是权限的问题。原创 2024-05-08 12:08:51 · 235 阅读 · 0 评论 -
C#连接数据库报Authentication to host ‘127.0.0.1‘ for user ‘root‘ using method ‘caching_sha2_password‘ fail
所以导致的,除了上边的办法,还可以把这个加密规则修改一下,这个的修改方式有很多,具体原因是因为MySQL8.0以前的加密规则是。原创 2024-05-08 10:54:01 · 371 阅读 · 0 评论 -
error code [1449]; The user specified as a definer (‘root‘@‘%‘) does not exist
其实就是说我的root用户权限不够,那就要加上权限,网上其他地方也有好多处理办法,但是要注意数据库版本。我直接执行这两句sql就成功了,亲测可用。原创 2024-05-07 16:58:34 · 253 阅读 · 0 评论 -
1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and bin
当二进制日志启用后,这个变量就会启用。如果设置为0(默认值),用户不得创建或修改存储函数,除非它们具有除CREATE ROUTINE或ALTER ROUTINE特权之外的SUPER权限。设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。1418-此函数的声明中没有DENTISTIC、NO SQL或READS SQL DATA,并且启用了二进制日志记录(您可能想要使用不太安全的log_bin_trust_function_creators变量)原创 2024-04-29 17:37:33 · 555 阅读 · 0 评论 -
MySQL索引使用总结
**主键索引:建表时设置主键时,数据库会自动建立索引。** **单值索引(单列索引,普通索引):一个索引只包含单个列,一个表可以有多个单值索引。关键字NORMAL****唯一索引:索引列的值必须唯一,但允许为null,这也是和主键索引的区别。关键字 UNIQUE****复合索引:多个列组合在一起,共同创建一个索引。** **全文(Full text)索引:MySQL5.7的版本之前,只支持MYISAM引擎,之后的支持InnoDB引擎。在定义索引的列上支持全文查找,允许这些索引列中插入重复值和原创 2023-11-28 15:13:38 · 129 阅读 · 0 评论 -
Mysql中的引擎介绍(InnoDB,MyISAM,Memory)
MySQL引擎就是指表的类型以及表在计算机上的存储方式。MySQL数据库及其分支版本主要的存储引擎有三种,分别是,还有一些其他的,,比较少见,可以使用语句来查看。结果如下:在Support列中,表示当前版本支持这个存储引擎;表示该引擎是默认的引擎,我的这个MySQL默认是InnoDB,大家可以查下自己的数据库,也是InnoDB。存储引擎的概念是MySQL的特色,使用的是一个可插拔存储引擎架构,能够在运行的时候动态加载或者卸载这些存储引擎。原创 2023-11-28 10:27:32 · 190 阅读 · 0 评论 -
MySQL里对时间的加减操作及常用语法
这个要注意,如果不是同一天的日期,返回的就是(天数 * 24) 再加 日期后的时间。可以使用上边的加日期,数字设成负的,比如这样。计算两个日期的差值,要求两个参数的格式要一样。也可以使用date_sub()函数。原创 2023-11-14 12:02:51 · 819 阅读 · 0 评论 -
Error encountered when performing Introspect database postgres schema
如果是使用navcat的话,就得找相应的低版本去匹配了,idea需要做一下这个配置,把标记的地方勾上,就可以,并且查看不到数据库里的表信息。原创 2023-08-31 09:48:48 · 526 阅读 · 0 评论 -
Server2016安装SQL server数据库遇到异常解决
然后将该文件复制到c:\windows\syswow64进行替换,上一步就是给分配了权限,才可以替换掉,要不然替换不掉。一个一个停,别一下全停,手动终止一个,停10秒,看下有没有提示,没有继续停,正常情况下,停止一个进程之后,会弹出一个对话框,提示,是否中止,选否,然后就可以继续安装了,就成功了,这一步主要就是要修改这个地方,把所有者改成administrator,或者当前的登录用户。等待3分钟,然后到任务管理器里,手动停止进程,不用怕,就是手动停止。这个右键,属性,兼容性,修改就行,类似这样。原创 2023-08-23 18:10:41 · 854 阅读 · 0 评论 -
authentication plugin ‘caching_sha2_password‘ cannot be loaded
经检查,发现mysql8.0 之后引入了新特性 caching_sha2_password,这种密码加密方式navicat客户端不支持,客户端支持的是mysql_native_password 这种加密方式;安装了MySQL8.0.32,然后连接数据库的时候,一直连不上,提示。查了一下,还真是,这是我老版本的数据库里的内容。那就好解决了,只需要把这种加密方式改一下就好了。然后再试,就大功告成了。原创 2023-04-28 16:15:02 · 118 阅读 · 1 评论 -
1055 (42000): Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated
然后再执行sql就没问题了,要是不嫌麻烦的话,就去把sql修改一下,修改成和异常提示要求一致的格式。去掉标黄的"only_full_group_by",复制下来。这个对于以后新建的数据库都起作用。mysql中报的异常信息。原创 2023-04-28 16:03:44 · 319 阅读 · 0 评论 -
使用cmd命令行连接MySQL执行sql不显示结果
登录上去之后,执行sql语句都查不到结果,后来查了一下,需要给sql语句结尾加上**\g;新装了一个mysql8.0.23,使用。原创 2023-04-28 15:30:30 · 545 阅读 · 0 评论 -
ORA-28001:the password has expired,Linux上修改Oracle密码
Oracle老喜欢做一些自作聪明的操作,用户密码的默认生命周期是180 天,超过时间就会报。第二步之后有时候会让输入用户名,可以使用system管理员,和原来的密码登录,PASSWORD_LIFE_TIME属性就是密码过期时间,默认是180天。FAILED_LOGIN_ATTEMPTS 属性就是连接失败次数。修改登录失败次数限制,默认是10次,连接失败10次之后会锁表。第三步的sql的末尾的英文分号不能省略,必须有。再回查一下看修改成功没,就可以了。将密码过期时间修改为无限制。单独查看密码过期时间。原创 2022-10-19 11:00:04 · 1136 阅读 · 0 评论 -
oracle中to_timestamp函数对时间的加减操作
操作Oracle时,经常需要对时间进行加减操作,这个直接看SQL:select to_timestamp(' 2022-02-22 14:13:29','yyyy-mm-dd hh24:mi:ss') + 30/60/24 from dual重要的是后边那个“ + 30/60/24 ” 表示 此时间加上30分钟,看结果:后边默认的加减单位是天,所以需要换算,除以24换算成小时,除以60换算成分钟,其他单位以此类推我自己代码里就这样用的,没有任何问题。select * from "原创 2022-04-12 12:11:32 · 5794 阅读 · 0 评论 -
mybatis整合sqlite
我这里是配置的双数据源,其中一个是sqlite,一个是Oracle,如果你只使用sqlite一个数据库,那就只需要修改一下数据源配置,直接像使用mysql的那样使用就可以。先导包:<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.21.0.1</version>&l原创 2021-07-12 11:18:09 · 4661 阅读 · 0 评论 -
mybatis的动态SQL配置
我们平时在使用 JDBC 或其他框架的时候,有时候需要拼接一些含有较多参数的SQL,这时候就会感觉非常麻烦,但mybatis就给我们提供了很强大的支持动态SQL的功能。我常用的关键字有以下几种:ifchoose (when, otherwise)trim (where, set)foreachif通常我们都是在 where 条件中使用它,以便可以达到最大限度SQL的复...原创 2019-07-31 22:15:58 · 2638 阅读 · 0 评论 -
SQL错误(1327):Undeclared variable:tableName
在MySQL中使用select * into tableNamefrom AOFS_ADJ 时,会报上边的错误,这是因为MySQL不支持这种语法,它的替代语法是这样的:create table zhang123(select *from AOFS_ADJ )这样就可以正常执行了。分享一个我的关联查询生成中间表的SQL:Create table zhan...原创 2019-06-14 10:07:44 · 5935 阅读 · 0 评论 -
数据库查询出来的日期数据传到前台变成long型的解决办法
数据库中的数据是日期格式,传到前台之后变成了long型的数字串,大家可以在前台使用函数对日期进行处理,格式化成想要的格式,处理方式较为基础,大家自行尝试。我们这里介绍几种简单的方法第一种:如果使用的fastjson处理的查询结果,可以这样处理:直接在相应的entity类里边给对象的字段上加上注解@JSONField(format = “yyyy-MM-dd HH:mm:ss”)就行这样:...原创 2019-05-25 14:10:05 · 2670 阅读 · 0 评论 -
SQL的执行顺序
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回给调用者。如果没有在查询中指定某一子句...原创 2019-04-12 11:22:29 · 86 阅读 · 0 评论 -
MySql常用命令总结
1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4:查看现在的数据库中存在什么表...原创 2019-04-09 21:16:02 · 74 阅读 · 0 评论 -
SQL查询所有列名用逗号连接
我们在使用mybatis时有时候需要查询所有的列,或者较多的列,这时候一个一个添加就会非常麻烦,我们可以使用SQL这样处理:SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ",")FROM information_schema.COLUMNSWHERE TABLE_SCHEMA = '数据库名' ...原创 2019-03-29 19:14:43 · 2636 阅读 · 2 评论 -
Oracle中用户,表空间,模式的含义
先给大家分享一下资源,绝对可靠:Oracle11g安装包下载链接:https://pan.baidu.com/s/1Qo2KiVYiaQAUu1Oic7DTYA提取码:s32i对于习惯了MySQL的人来说,使用起Oracle,刚开始确实有点不太顺手,我简单分享一下我的适应过程,首先得搞清楚几个Oracle中的概念:一、表空间(Tablespace)1、字面上来看,表空间就是个表的存储容...原创 2019-03-25 17:24:42 · 5072 阅读 · 0 评论 -
Springboot+Mybatis+Redis简单案例展示
MySQL数据库:DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `num` varchar(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `gender` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY K原创 2020-05-19 16:56:21 · 1465 阅读 · 0 评论 -
java.sql.SQLException: column 0 out of bounds [1,1]
使用ResultSet接收从数据库的查询结果,取里边的元素时报的这个错。while (rs.next()){ System.out.println(rs.getObject(0)); }java.sql.SQLException: column 0 out of bounds [1,1] at org.sqlite.core.CoreResultSet.checkCol(CoreResultSet.java:84) at org.sqlite原创 2020-05-08 18:08:38 · 946 阅读 · 0 评论 -
Failed to bind properties under 'spring.datasource.type' to java.lang.Class(javax.sql.DataSource)
异常:2020-01-14 10:07:01.352 WARN 11568 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springfra...原创 2020-01-14 10:37:25 · 29036 阅读 · 6 评论 -
Oracle中Timestamp类型字段查询结果格式化处理
在使用Oracle数据库时,把Timestamp类型的字段查出来显示到界面上居然是一串数字,不符合我们常见的要求,我就查了一下,发现中间还有很多道道,Oracle查出来的Timestamp类型和java里边的Timestamp类型不是同一种类型,在java后台转化不了,所以只能另辟蹊径。就想到了用Oracle中的Timestamp类型接受,然后转化,下来看具体实现方法:package com....原创 2019-11-28 18:55:59 · 6176 阅读 · 0 评论 -
Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String### Cause: java.lan...原创 2019-10-15 12:22:48 · 751 阅读 · 0 评论 -
【mysql】error code:1206 the total number of locks exceeds the lock table size
在处理大批量数据一次存储在数据库中时,可能会出现这种异常,是由于超过了MySQL缓冲池字节大小的限制,下面看解决办法:执行命令:show variables like "%_buffer_pool_size%"; 看下当前的缓冲池字节大小限制是多少,默认的innodb_buffer_pool_size是8388608,那么就要修改 innodb_buffer_pool_size的值,我...原创 2019-09-09 12:39:25 · 5383 阅读 · 1 评论 -
mybatis批量update数据时报错的解决办法
先看代码: <update id = "updateList" parameterType="java.util.ArrayList"> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> up...原创 2019-09-02 17:07:03 · 1911 阅读 · 0 评论 -
MySQL中表被占用,无法操作的情况
最近在自测一个项目时,有一张表怎么都删不掉,并且还打不开,很明显是被占用着呢,下面就看一下解决办法:1.查找当前活跃的事务SELECT * from information_schema.INNODB_TRX如果有占用,会查出好多东西,这个一看就明白,没有结果的话,说明没有当前活跃的事务,那就是其他原因导致的。根据trx_started等判断事务是否异常锁定2.杀死线程直接使用命令:...原创 2019-08-29 15:15:25 · 2046 阅读 · 0 评论 -
MySQL中对敏感字段值进行加密存储
在项目中有时候有些敏感的信息存在数据库中,不想被别人直接看到,那么我们就需要加密处理,这有好多种方式,我这里介绍一种只用MySQL数据库进行处理的方式,这种方式的好处是原创 2019-12-10 15:44:21 · 3762 阅读 · 0 评论 -
Oracle数据库
数据导出:1 .将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 ...原创 2019-07-31 23:09:33 · 588 阅读 · 0 评论 -
mybatis操作Oracle和mysql批量增删改数据时的区别
首先批量插入,操作mysql和Oracle完全不同,mysql:<insert id = "insertList" parameterType="java.util.ArrayList"> INSERT INTO test_table ( `name`,`age`) VALUES <foreach collection="list" item="item" index="index" separator=","&原创 2021-05-06 14:41:35 · 256 阅读 · 0 评论