
数据库
多写文章能生发
这个作者很懒,什么都没留下…
展开
-
Navicat连接mycat可以看到库表,双击数据表提示:1146 - table ‘testdb.student‘ doesn‘t exist
直连数据库(不走mycat) 是可以看到如下数据的:mycat配置:我本身数据库的库名是test,在网上搜索mycat使用教程时看到大家mycat的逻辑库名都配置的是TESTDB,我也就没改,这样的话在使用navicat连接mycat时看到的数据库名也是TESTDB,如下图:然后表也是有的,但是双击数据表想看内容时报错如下:一时间觉得想不通,然后去看数据库的日志:顿时有点恍然大悟了,我的数据库名是test的,但是配置 了逻辑库名TESTDB后,查询表数据时候就用了逻辑库名去找表(TESTDB.s原创 2022-04-07 19:36:31 · 3582 阅读 · 0 评论 -
mysql-5.7.36主从复制(双机热备)
主库配置:# 开启mysql日志配置,为了方便后续验证问题general_log = 1general_log_file = mysql.log# 主从复制配置server-id = 1log-bin=mysql-binbinlog_format= MIXEDlog-slave-updates=true从库配置:# 开启日志general_log = 1general_log_file = mysql.log# 注意:两个机器的server-id不能一样server-id原创 2022-04-04 20:19:15 · 1363 阅读 · 0 评论 -
mysql-5.7.36安装教程
安装包:解压并移动到/usr/local目录下:# 解压安装包tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz等待解压结束# 把解压后的安装包移动到/usr/local目录下mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql# 进入目标目录cd /usr/local/mysql为当前目录创建用户组和用户groupadd mysqluseradd -r -g my原创 2022-03-20 19:12:17 · 1505 阅读 · 0 评论 -
Navicat连接MySQL数据库提示:1130, “Host ‘xxxx‘ is not allowed to connect to this MySQL server“
报错如下:之所以出现这个错误,是因为Mysql配置了不支持远程连接引起的#第九步:设置root用户可以远程登录#在装有MySQL的机器上登录MySQL mysql -u root -p密码#执行use mysql;#执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。#执行FLUSH PRIVILEGES;#update user set host = ‘%’ where user = ‘root’;...原创 2022-03-18 10:29:06 · 899 阅读 · 0 评论 -
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this
错误发生在安装完MySQL之后没有修改用户的初始密码,使用初始密码登录,然后进行操作时才会有这个提示:解决方法:修改用户的初始密码alter user 'root'@'localhost' identified by 'NIshichou38';然后再执行数据库基础操作:...原创 2022-03-16 21:43:16 · 1208 阅读 · 0 评论 -
mybatis中使用map接收查询Oracle的结果集属性名(key值)全大写需要转为驼峰命名
在MySQL中直接AS就行了,到了Oracle就不行了,如下:这样才可以:注意,列的别名要用双引号引起来原创 2022-03-02 14:29:02 · 821 阅读 · 0 评论 -
MySQL查询结果集添加序号列
业务场景:今天做了一个导出excel表格的功能,客户要求在导出的数据前加一个需要列,方便查看,接下来看看怎么实现。添加之前的SQL是这样写的:网上查了下,没有发现MySQL本身有这个功能的,但是可以通过关联虚拟表实现,具体实现如下:语句放这里,方便大家复制:select convert((@i:=@i+1),SIGNED) as num,ope_name,ope_pwd from operator ,(select @i:=0)t解释下原理:(select @i:=0)t这其实就是一原创 2022-02-25 16:37:10 · 2671 阅读 · 0 评论 -
Oracle 11g图文下载安装教程(一步一图)
没有安装包的点这里下载点击下载时会提示登录账号,我下载时没有账号然后就选择了注册,随便填填就行,最后进行邮箱验证,然后在点这里下载就行。下载完成后是这两个包:解压(这两个包解压到同一个文件夹下,路径不要出现中文和特殊字符,我选择直接在D盘下新建Oracle目录):解压(使用解压到…功能,解压到刚刚新建的目录下)解压完成后是这样的:只有database这么一个目录,千万别随便更改目录结构,进到database目录里面,双击执行【setup.exe】:等待...原创 2022-02-25 15:03:16 · 11139 阅读 · 1 评论 -
navicat连接本地Oracle库报错ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER
修改一个选项:原创 2022-02-24 16:22:48 · 2542 阅读 · 2 评论 -
java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xA2‘ for column ‘Name‘ at row 1
我这里报这个错误是因为需要保存一些外文字符和特殊字符,而我这里用到的数据库编码是UTF8,这种情况下直接把库表的编码改为utf8mb4就行了。utf8和utf8mb4区别:utf8mb4这个编码是在MySQL5.5.3之后增加的,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。其实一般情况下为了节省空间,使用utf8就够了。小提示有时候两表关联查询,使用主键关联且主键是UUID时,如果查询.原创 2021-12-27 16:05:40 · 905 阅读 · 0 评论 -
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)原创 2021-12-25 15:16:04 · 646 阅读 · 0 评论 -
*****slow sql 38479 millis**** IOException:断开的管道
在使用SQL进行关联查询时可能会出现这个错误,这时候可以尝试添加一下索引,(示例)语句如下:ALTER TABLE t_student ADD INDEX idx_number ( number );原创 2021-11-20 17:25:52 · 2312 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘**_ACCOUNT_INFO‘ doesn‘t exist
报错如下:但是数据库里是有这张表的:调查到这里能想到的也就只有MySQL是否区分大小写表名了,经过调查发现MySQL在Windows下默认不区分大小写,在Linux下默认区分大小写,需要进行配置:这是修改之前的配置,需要把lower_case_table_names的值改为1(lower_case_table_names参数有两个值: 0:区分大小写,1:不区分大小写)修改后:重启MySQL服务,然后验证修改是否有效:show variables like 'lower_case_tab原创 2021-11-18 10:50:00 · 751 阅读 · 0 评论 -
连接redis服务器提示:Redis Client On Error: Error: connect ECONNREFUSED 127.0.0.1:6380 Config right?
使用图形化工具连接redis时报错如下:检查下redis服务是否启动。启动redis命令:LINUXredis-serverWINDOWSredis-server.exe --service-start --service-name redisserver2上一行命令中redisserver2是redis服务的名字,根据你自己的实际情况改为你的redis服务名再次连接就能连上了。...原创 2021-07-22 16:16:30 · 44518 阅读 · 3 评论 -
Navicat Premium12连接Oracle库报错:ORA-28547:connection to server failed,probable Oracle Net admin error
Navicat Premium12连接Oracle报错如下:navicat是通过oci连接oracle服务器的,通常会在自己的安装路径下包含一个oci,使用navicat连接Oracle服务器时出现ORA-28547错误,多数是因为navicat本地的OCI版本与Oracle服务器器不符造成的。解决办法:链接:https://pan.baidu.com/s/1bqsKTvrYc8yYbl4c42z_Kg提取码:1234链接:https://pan.baidu.com/s/1q9qFS3HZ0r5原创 2021-07-14 15:04:17 · 554 阅读 · 1 评论 -
win环境下mysql-8.0.25安装教程(解压版)
没有包的点这里下载解压创建一个名为my-default.ini的文件(有些版本是my.ini),放到根目录下,如下图:在新建的文件中放入以下内容:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]# 设置3306端口port = 3306# 设置mysql的安装目录basedir = D:\\MYSQL\\mysql-8.0.25-winx64# 设置mysql数据库的数据的存放目录datadir = D:\原创 2021-07-09 19:19:02 · 357 阅读 · 0 评论 -
OpenQuery代替连接服务器提升SQL性能
创建连接服务器:/****** Object: LinkedServer [LinkedServer_Name] Script Date: 2021/3/19 16:46:49 ******/EXEC master.dbo.sp_addlinkedserver @server = N'LinkedServer_Name', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'10.**.1*2.75' /* For security reason原创 2021-03-19 17:11:05 · 643 阅读 · 1 评论 -
SQL Server清表重置主键
方式一:--清表并重置主键TRUNCATE TABLE TB_STUDENT方拾二:--清表DELETE TABLE TB_STUDENT--重置主键,使自增主键重新从0开始计数DBCC CHECKIDENT (表名,reseed,0)原创 2021-03-17 16:47:48 · 1411 阅读 · 0 评论 -
无法截断表 ‘tbl_******** ‘,因为该表正由 FOREIGN KEY 约束引用
出现这种错误一般是在执行以下命令:truncate table tbl_***其实可以换个sql实现这个功能:delete * from tbl_****如果表中存在自增主键,希望清除数据后自增主键重置为从1开始,那么再配合这条语句就好了:dbcc checkident(tbl_***,reseed,0)...原创 2021-01-21 09:21:48 · 2331 阅读 · 2 评论 -
MySql报错:1064 - You have an error in your SQL syntax
MySql插入数据时报错如下:错误代码:1064解决方法:把表名和字段名用 `` (英文状态下Tab键上面的那个键)括起来就好了。报错时的语句:insert into aynu_course(c_id, c_name) values('C10001','语文');修改后正确的语句:insert into `aynu_course`(`c_id`,`c_name`) values('C10001','语文');...原创 2021-01-14 17:19:46 · 651 阅读 · 0 评论 -
My Sql报错:1273 - Unknown collation: ‘utf8_chinese_ci‘
建表语句报错:报错代码:1273数据库版本问题,需要修改一些参数:CREATE DATABASE IF NOT EXISTS aynuDEFAULT CHARACTER SET utf8DEFAULT COLLATE utf8_general_ci;数据库编码设置使用上面标黄的两行代码!!!原创 2021-01-14 17:06:48 · 7358 阅读 · 3 评论 -
MySql和SQL SERVER的主键自增
记录一下SQL SERVER和My Sql的表主键自增的设置方式:SQL SERVER:create table aynu_student(s_id int primary key identity(1,1),s_name varchar(32) not null,s_pass varchar(32) not null,s_sex varchar(4) not null,s_idcard varchar(20) not null,s_address varchar(100) not null原创 2021-01-14 16:49:41 · 328 阅读 · 0 评论 -
sql server一列数据转化成一个字段用逗号隔开
现有数据如下:用一个SQL查询出每种角色有几个用户,把他们的id用逗号隔开放到一个字段里select distinct b.rol_id,(select stuff((select ','+a.ope_id from operator a where a.rol_id=b.rol_id FOR XML PATH('')),1,1,'') as ope_ids) as ope_idsfrom operator b结果就出来了。...原创 2020-12-29 11:39:15 · 2950 阅读 · 0 评论 -
无法截断表 ‘tbl_***‘,因为该表正由 FOREIGN KEY 约束引用。
错误背景:有两张表,一张是主表(tbl_invoice),一张是明细表(tbl_invoice_detail),出于某种原因现在需要清空数据库,保留数据库结构,为了使自增长字段重新从1开始,我使用了truncate语法进行操作:由于主表和明细表之间存在主外键关系,我先清空了明细表,然后清空主表的时候发生了上图中的错误。补充一点:(tbl_invoice表中的主键id和tbl_invoice_detail的字段invoice_id是主外键关系)这时后应该怎么做呢?查询外键(在主表中查询):-原创 2020-12-11 16:14:24 · 3660 阅读 · 0 评论 -
MERGE语句的使用(同步数据)
最近学习了SQL Server这个牛逼轰轰的语法,个人认为很牛逼。牛逼之处: MERGE语法可以将简单的INSERT,DELETE,UPDATE语句融合到一条语句中。使用要领: MERGE语法必须作用于 两个数据源(数据表,子查询,视图) 之间语句结构分析:MERGE 目标表USING 数据源(数据表,子查询,视图)ON 匹配条件WHEN MATCH THEN 操作语句 ;(结束的...原创 2019-12-06 17:26:54 · 3451 阅读 · 0 评论 -
mysql连接报错“The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one tim”
前几天重装系统,把开发需要的所有工具重新装了一遍,完事儿就关电脑嗨皮了。今天新建项目连库运行后报如下错误:错误信息:The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or J...原创 2019-04-09 11:40:16 · 558 阅读 · 0 评论