mysql字段aes加解密

HEX()函数;二进制转换为16进制,方便存储

加密:加密对象 11 加密密钥:e10adc3949ba59abbe56e057f20f883e  结果:A13015D303BC1548608D6B4B8E900515

SELECT HEX(AES_ENCRYPT(’11’,’e10adc3949ba59abbe56e057f20f883e’));

解密:解密对象:A13015D303BC1548608D6B4B8E900515 解密密钥:e10adc3949ba59abbe56e057f20f883e 结果:11

SELECT AES_DECRYPT(UNHEX(‘A13015D303BC1548608D6B4B8E900515′),’e10adc3949ba59abbe56e057f20f883e’);

mysql更新大数据表-策略

大批量更新数据如果循环单条插入效率低下,时间大多耗费在mysql连接上,考虑减少链接。

方法1;使用CASE WHEN 拼成一条sql执行,减少数据库链接

UPDATE mytable SET
    myfield = CASE id
        WHEN 1 THEN 'value'
        WHEN 2 THEN 'value'
        WHEN 3 THEN 'value'
    END
WHERE id IN (1,2,3)

方法2;复制原表建立新表,处理好需要更新的数据,插入数据到新表,删除老表,改名新表

使用:

1,CREATE TABLE a6 LIKE a1;//复制原表结构和索引,不包含数据
2,CREATE TABLE a6 AS SELECT * FROM a1 ;//复制原表结构和数据,不包含索引

 

kafka启动报:127.0.0.1:2181: 拒绝连接

原因:因为zookeeper没正常启动导致,

解决:

1.zookeeper使用#./zkServer.sh start-foreground报

main:ZooKeeperServerMain@85] – Unable to start AdminServer, exiting abnormal

查询发现是端口被占用了

2.zoo.cfg文件增加配置:admin.serverPort=9099

3.重新启动zookeeper,启动成功

4.启动kafka成功

5.zookeeper端输入jps

显示kafaka已启动

 

zookeeper启动命令#./bin/zkServer.sh start

kafka启动命令#./bin/kafka-server-start.sh config/server.properties

kafka后台启动#./bin/kafka-server-start.sh -daemon ../config/server.properties

 

php-mysql-es数据写入效率

通过分析得出,查询和循环处理占时短,大部分时间花费在了es的bulk插入上,调优方向就是优化es批量

#sleep(1)的情况
100万数据 读5万 写1万 201秒
100万数据 读5万 写5万 207秒
100万数据 读10万 写1万 203秒
100万数据 读10万 写5万 203秒
100万数据 读10万 写10万 219秒
100万数据 读1万 写1万 344秒

#不加sleep的情况
100万数据 读5万 写1万 205秒
100万数据 读5万 写5万 209秒
100万数据 读10万 写1万 208秒
100万数据 读10万 写5万 198秒
100万数据 读10万 写10万 200秒
100万数据 读1万 写1万 227秒
100万数据 读1万 写5000 226秒

mysql查询效率还可以,es批量写入造成缓慢:
100万数据查询插入消耗250秒

调增’refresh_interval’ => ’30s’,100万数据查询插入230

调增’refresh_interval’ => ’60s’,100万数据查询插入221

调增’refresh_interval’ => ’60s’,100万数据查询插入229

每次插入1000查询插入240

100万数据查询12秒

100万数据查询逻辑循环18秒

500万查询73

500万查询逻辑循环92

linux安装es-head

1安装npm

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install
npm run build
npm -v

2 安装head插件

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip
cd elasticsearch-head-master
npm install –g grunt–cli

权限

chown -R root:root /home/app/elasticsearch/elasticsearch-head-master/

安装

npm install

head安装完成后,将es后台启动、head也运行起来

./elasticsearch-5.5.1/bin/elasticsearch -d 
/home/app/elasticsearch/elasticsearch-head-master下:npm run start

需要后台启动执行
#nohup npm run start &

因为es是端口9200,而head插件是9100,,解决跨域问题:

elasticsearch-5x下的 config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

linux安装es

1.解压 tar -zxvf elasticsearch-7.7.1-linux-x86_64.tar.gz
移动  mv elasticsearch-7.7.1 /usr/local/
cd /usr/local/
创建新用户  useradd esuser
赋权 chown -R esuser:esuser /usr/local/elasticsearch-7.7.1/

主配置文件修改 vim elasticsearch.yml

node.name: node-1
cluster.initial_master_nodes: ["node-1"]

network.host: 0.0.0.0

 

查看端口 netstat -tunlp|grep 9200

开启

su esuser
cd /usr/local/elasticsearch-7.7.1/bin/

./elasticsearch -d
问题:

vim /etc/security/limits.conf //保存后需要重新登录

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

976 vim /etc/sysctl.conf

vm.max_map_count=262145

sysctl -p//保存后刷新配置


redis安装和常用操作

安装&启动
一.下载:[root@localhost ]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz
二.解压:[root@localhost ]# tar -xzvf redis-5.0.7.tar.gz
三.[root@localhost redis-5.0.7]# yum install gcc
四.[root@localhost ]# cd redis-5.0.7/
五.[root@localhost redis-5.0.7]# make MALLOC=libc
六.[root@localhost redis-5.0.7]# make install PREFIX=/usr/redis
七.启动进入 bin 目录 #./redis-server    客户端连接 #./redis-cli

继续阅读“redis安装和常用操作”