Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when

原创 2021-07-06 16:01 阅读(28)次
想在mysql服务器中导出数据库,用来暂时备份用,执行以下语句: ./mysqldump -d db -u root -p >db.sql 却报如下错误: ``` mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect ``` 一般我们使用数据库都不会遇到这个问题,这估计是前人安装数据库时不负责,或者不按规范安装留下祸根,百度了下,最简单的解决办法是,找到当前mysql.sock的位置,修...

干货 | 吃透Elasticsearch 堆内存以及堆内存为什么不能超过32GB

转载 2021-05-30 17:43 阅读(79)次
1、什么是堆内存? Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域: 新生代 ( Young )、 老年代 ( Old )。 新生代 ( Young ) 又被划分为三个区域 Eden、 From Survivor、 To Survivor。 这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。 2、堆内存的作用是什么? 在虚拟机启动时创建。 堆内存的唯一目的就是创建对象实例,所有的对象实例和数组都要在堆上分配。 堆是由垃圾回收来负责...

clickhouse清空表数据

原创 2021-05-25 18:30 阅读(702)次
最近看到很多朋友问clickhouse如何清空表数据?或者有没有像mysql一样truncate删除整张表数据的语句呢? 答案是:没有。它只提供如下语句: ALTER TABLE 表名 DELETE WHERE 条件 . 并且这语句性能不是很好,也是异步删除,语句执行成功不代表真的成功。 当然你也可以使用删除分区的方式达到清空表的目的,但提前你得一个一个分区的删,太麻烦了。 那么现在你知道了:你想快速清空表,只能重建表了。 重建表要先drop表,如下: drop table 表名 . 如果你的表是在集群下,也可以使用分布式DDL来删除和重建表。 ...

clickhouse如何修改字段名

原创 2021-03-19 10:00 阅读(1440)次
clickhouse如何修改字段名?也就是如何对字段重命名? 早期版本是不支持的,在ClickHousereleasev20.4.2.9,2020-05-12版本之后就开始加入了这个特性。大家记得看看自己的版本。 语法如下: ```sql ALTER TABLE visits RENAME COLUMN webBrowser TO browser ``` 分布式集群下用分布式DDL修改字段名 ```sql ALTER TABLE visits on cluster shipin_cluster RENAME COLUMN webBrowser TO browser `...

es7.x版本如何获取查询命中的文档总数

原创 2021-03-03 11:26 阅读(403)次
#### 前言 早在elasticsearch6.x版本时,es查询时默认会显示hits total总数,当然聚合场景下是不会的。目前我们项目将es6.8升级到7.6,一些普通查询,总数显示不正常了,最大只显示10000条。 比如查询语句如下: ```json GET bd_frequent_test/_search { "query": { "match_all": {} } } ``` 查询结果如下: ```json { "took": 1, "timed_out": false, "_shards": { "total": ...

Es 7.x版本批量写入数据路由字段报错:Action/metadata line [1] contains an unknown parameter [_routing]

原创 2021-03-02 19:02 阅读(351)次
#### 异常问题 在使用elasticsearch7版本批量插入数据时,因为设置了路由,一直报错:Action/metadata line [1] contains an unknown parameter [_routing] 具体错误信息如下: ```json {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Action/metadata line [1] contains an unknown parameter [_routing]"}],"type":"illegal_argu...

Es创建索引mapping时报错:Root mapping definition has unsupported parameters: [doc

原创 2021-03-02 14:20 阅读(580)次
#### 异常问题 es7.x版本创建索引报如下错误:Root mapping definition has unsupported parameters: [doc 具体信息如下: ```json { "error" : { "root_cause" : [ { "type" : "mapper_parsing_exception", "reason" : "Root mapping definition has unsupported parameters: [doc : {dynamic=false, prop...

clickhouse如何删除数据库和创建数据库以及分布式DDL创建数据库

原创 2021-02-25 17:20 阅读(908)次
#### 前言 我们使用clickhouse大部分情况都是使用集群模式,那么我们希望创建库或删除库时都是一条语句在集群所有节点中运行,而不是手动在各节点单独执行创建或删除库。 语句如下: #### 1.clickhouse删除数据库 ```sql drop database base_db ``` #### 2.存在时再删除数据库 ```sql drop database IF EXISTS base_db ``` IF EXISTS是可选的 #### 3.分布式DDL删除数据库 ```sql drop database IF E...

es聚合之实现日期按周一到周日的聚合统计

原创 2021-02-02 13:40 阅读(686)次
#### 前要说明 由于业务要查看日志,按周一到周天展示日志统计量 ![](http://img.classinstance.cn/20210202/1612244338577.jpg) 我们数据是存储在es中,找了半天聚合函数,发现可以用脚本定义周一到周日。 这里就需要用到es中的日期类org.elasticsearch.script.JodaCompatibleZonedDateTime 它其中就提供了一个函数getDayOfWeek()获取一周星期几对应的数值,这个函数刚好可以实现我们的需求。 #### getDayOfWeek函数的使用 我们先用script_fields...

druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error

原创 2020-12-15 11:45 阅读(1414)次
今天遇到一个druid不支持clickhouse的问题,druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error错误如下: Caused by: java.sql.SQLException: sql injection violation, dbType clickhouse, , druid-version 1.2.2, syntax error: syntax error, error in :'icle r where first_appear_ti...

clickhouse如何删除数据

原创 2020-11-27 18:09 阅读(8984)次
clickhouse删除数据提供了三种方式:一、是删除分区,数据就会删除掉二、是通过Alter语句删除数据三、是还可以通过设置日期字段或表的TTL生命周期,到期自动清除数据注意:上面前2点都可以使用分布式DDL删除集群各节点数据,第三点是创建表时定义的,暂时不提。1.删除分区alter table 表名 drop partition 分区名分区名可以用下语句查询select * from system.parts p where table = '表名'以我下面这张表为例,分区函数是toYYYYMMDD(collect_time),按天分区,那分区名就是20201010这样的日期格式,只要按这...

clickhouse执行查询内存超出限制问题:Memory limit (total) exceeded

原创 2020-11-26 18:15 阅读(3286)次
今天用clickhouse执行分布式查询报错:SQL 错误 [241]: ClickHouse exception, code: 241, host: 192.168.29.124, port: 18123; Code: 241, e.displayText() = DB::Exception: Memory limit (total) exceeded: would use 15.44 GiB (attempt to allocate chunk of 4294967296 bytes), maximum: 13.95 GiB (version 20.6.3.28 (official bui...

clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its

原创 2020-11-17 18:06 阅读(419)次
clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its cluster definition执行的语句是:alter table engs_comp_clg_result_local on cluster shipin_cluster drop partition 20191101 我是想把我集群shipin_cluster中两个节点的本地表中一个分区删除掉,但是一执行报如上错误,说是我的本地表不是复制表,但是分片2却根据定义在复制。我的集群配置如下:<y...

docker中启动elasticsearch报错:Error opening log file 'logs/gc.log': Permission denied

原创 2020-03-24 15:16 阅读(2600)次
最近公司组织学习elasticsearch,于是自己又重温了一下es,由于没有环境,又重新在docker安装了一下elasticsearch,启动命令如下:docker run --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins -v /home/docker/es/data:/...

postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user

原创 2020-03-20 13:39 阅读(1369)次
今天在部署postgresql主从复制时,复制一直不成功,检查了主从库的配置没发现什么问题,于是修改主库的配置,修改postgresql.conf:logging_collector = on将日志功能打开,重启主库看到日志一直在报错:FATAL: no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off我以为pg_hba.conf中配置了如下就可以:local replication all ...

linux下docker安装postgreSql数据库,附带启动脚本

原创 2020-03-19 11:14 阅读(688)次
docker这东西安装中间件真是方便,不需要再去手动下载安装包,省事,今天分享一下我在docker中安装postgresql数据库的过程。1.搜索docker search postgresql2.上面可以看到NAME为postgres的镜像,直接安装,我选择的是10.5版本docker pull postgres:10.53.经过10分钟左右,镜像下载下来了,查看一下docker image listREPOSITORY          TAG              ...

postgresql生成uuid

原创 2020-03-12 15:41 阅读(1357)次
我们postgresql数据库在插入数据时,需要生成uuid当作主键,这里分享下2种做法:1,参考这位朋友提供的https://www.cnblogs.com/chengyungzheng/p/10175515.html2,也可以直接自己拼接一下,但这不建议在高并发下使用,以下三个语句都可以生成SELECT uuid_in(md5(random()::text || now()::text)::cstring); SELECT uuid_in(md5(random()::text || clock_timestamp()::text)::cstring); SELECT md5(r...

redis报错远程主机强迫关闭了一个现有的连接以及超时问题

原创 2019-10-11 16:37 阅读(6668)次
问题说明:spring boot2.x+redis开发时,总是时不是发生redis超时,时不时报:远程主机强迫关闭了一个现有的连接以及超时问题。这个问题总是偶有出现,烦人。spring boot2.x版本默认redis连接池为lettuce,以前在非spring boot项目中使用jedis连接redis时,好像没有过这种烦人的问题,搞的现在对redis有阴影。。。我的项目也是使用默认的lettuce连接redis。我们先看超时问题的报错:io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second...

java xpack密码连接elasticsearch 7.1集群

原创 2019-09-08 14:18 阅读(1658)次
java连接elasticsearch7.x版本跟6.x有很大不一样,api都改了不少。废话不多说,直接分享代码,让看到的人少掉坑里。由于我开启了xpack密码验证,所以连接es时也要加上密码,代码如下:import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCred...

elasticsearch7.1保存时报错: Validation Failed: 1: type is missing;

原创 2019-09-08 14:11 阅读(4198)次
elasticsearch7.1保存时报错:org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: type is missing; at org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:26) at org.elasticsearch.action.index.IndexRequest.validate(IndexRequest.java:148) at org....

windows下mysql-5.7.22-winx64突然启动不了,报错Could not open log file

原创 2019-08-25 19:13 阅读(939)次
windows下mysql-5.7.22-winx64突然启动不了,感觉启动几秒钟后就自己关闭了,看了下启动日志:2019-08-25T10:57:08.389404Z 0 [Warning] option 'wait_timeout': unsigned value 31536000 adjusted to 21474832019-08-25T10:57:08.389459Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp...

canal client同步数据报错:Nested repetitions *?+ in expression

原创 2019-08-23 18:33 阅读(671)次
canal同步mysql数据时报错:2019-08-23 18:17:10.504 [destination = example , address = /127.0.0.1:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address 127.0.0.1/127.0.0.1:3306 has an error, retrying. caused by com.alibaba.otter.canal.parse.exception.CanalParseExcept...

canal client中Sql解析

原创 2019-08-22 16:37 阅读(1227)次
在使用阿里canal时同步数据,由于现在的canal-adapter满足不了公司需求,于是我用canal-client自己实现同步,这里需要解析ddl语句,涉及到自己写sql解析有点麻烦,所以找了一下这种组件,能用组件的就用组件,不能的就自己写了,这里分享一下,我用的是阿里的druid,他里面有解析sql的代码,直接拿来用。maven引入: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <v...

启动canal一直报错:Table 'xx.xx' doesn't exist

原创 2019-08-21 10:47 阅读(720)次
在使用cancal异构数据库的时候,只是根据官方配置单机版启动一直报错,如下:2019-08-21 09:18:13.007 [destination = example , address = /127.0.0.1:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: ErrorPac...

Redis命令和Redisson对象匹配列表

原创 2019-06-13 09:43 阅读(692)次
下表为redis命令对应的Redission对象,备忘一下,免得老忘记:Redis命令Redisson对象方法AUTHConfig.setPassword();APPENDRBinaryStream.getOutputStream().write()BITCOUNTRBitSet.cardinality(), RBitSet.cardinalityAsync(), RBitSetReactive.cardinality()BITOPRBitSet.or(), RBitSet.orAsync(), RBitSetReactive.or();RBitSet.and(), RBitSet.andAs...

docker中安装redis

原创 2019-05-30 19:02 阅读(1035)次
1.搜索docker search redis[root@localhost r1]# docker search redisNAME                             DESCRIPTION                                 ...

因磁盘满了Mysql数据库宕机的解决办法

原创 2018-05-07 10:59 阅读(1331)次
今天发现数据库宕机了,周五的时候看到磁盘快满了,于是叫同事清理一下数据,没想到他删除的数据量有点大,delete语句执行了一天没删除完,而数据库在周六正好硬盘满了,于是数据库就在执行大事务的同时因为硬盘满了而宕机了。于是本人要恢复数据库,直接启动是启动不了,没空间了,只能把其中一个数据库搬到另一个盘中,释放空间了。我这个数据库实例中有两个数据库,一个叫bdad,一个叫weibo,如下图所示:如上图所示:/data/mysql-data/mysql是我的数据库目录,里有两个数据库bdad,weibo我把weibo这个库搬到了/home目录下,并给这个库创建了软链,相当于两个库使用不同的硬盘工作。...

emoji表情在Mysql数据库中乱码问题总结

原创 2018-03-01 12:32 阅读(1226)次
最近在爬取微博数据中发现有些数据保存失败,调试后发现都是emoji表情保存到数据库后乱码造成的。我的Mysql编码都是utf8,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节,所以乱码了。下面我总结一下我知道的处理方式:1.保存前使用emoji的官方jar包提供的方法将表情转成代码,再保存2.设置数据库的字符编码为支持emoji表情的字符集:utf8mb43.如果可以,我说如果可以。。。过滤掉吧一、emoji表情转成代码保存例如: 😁 我可以存储为:smile:,😭存储为:cry:,等等,可以这样映射起来。这种方法要使用jar包提供的方法,...

MySQL中支持emoji表情的存储

转载 2018-02-28 16:16 阅读(798)次
转:https://www.cnblogs.com/zhangwufei/p/7017325.html由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流。mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。下面介绍了关于如何修改mysql数据库的编码格式变为utf8mb4的具体方法。Linux系统中MySQL的配置文件为...

聊聊数据保存到MySQL后数据乱码的问题

原创 2018-02-10 17:20 阅读(756)次
经常我们会碰到数据乱码的问题,有页面乱码,java运行时变量里的数据乱码,数据库表数据乱码。我今天主要说说我在工作中遇到的数据库表数据乱码问题怎么解决。当我们表里数据保存后发现乱码,首先我们要确定数据的来源以及中间处理层的字符集编码是不是一致,比如我们用java从文件中读取一段utf-8的文字然后保存到数据库中时,首先我们得用utf-8编码读取并用utf-8保存到数据库中。也就是说java应用层和数据库的编码必须一致才不会出现乱码。应用层的编码我们暂时不说,我主要分享一下mysql数据库中的乱码如何解决,关于乱码为什么会出现或者说原理我也讲不通,给个链接,大家自己看,乱码是怎么形成的?我们出现...