Runnable

strong to refuse


  • 首页

  • 标签

  • 归档

vim.drawit

发表于 2020-03-30

DrawIt:Vim画图插件(可在vim中画基本示意图)
1.下载
$ wget -O DrawIt.vba.gz http://www.vim.org/scripts/download_script.php?src_id=8798
切记:不要使用tar解压,它不是压缩包文件。
2.解压
$vim DrawIt.vba.gz
:so %
:q
使用vim打开以后,就会发现命令提示中提示使用命令:so %来解亚。
3.安装
安装很容易,将解压后的相应.vim文件复制到vim的插件目录中,通常个人的插件目录为$HOME/.vim/plugin/。将帮助文档.doc复制到相应的doc文档目录中,通常为$HOME/.vim/doc/。
4.使用
1)启动和退出DrawIt。
在vim的普通模式下按下。
/di 启动
/ds 关闭
2)画图
在vim的visual block(可视块)模式下,进入可视块模式的方法是Ctrl-v组合键。选择一个矩形框,然后
/b 矩形框
/e 椭圆
3)箭头
不要进入可视模式!
^ 上箭头
/^ 粗大上箭头
v 下箭头
/v 粗大下箭头

右箭头
/> 粗大右箭头
< 左箭头
/< 粗大左箭头
4)斜线
PgUp 右上斜线
PgDn 右下斜线
End 左下斜线
Home 左上斜线
这四个按键刚好可以画出一个菱形,非常好记!

mysql.information_schema.tables字段说明

发表于 2020-03-25

information_schema.tables字段说明

字段 含义
Table_catalog 数据表登记目录
Table_schema 数据表所属的数据库名
Table_name 表名称
Table_type 表类型,system view,base table
Engine 使用的数据库引擎,MyISAM,CSV,InnoDB
Version 版本,默认值10
Row_format 行格式Compact,Dynamic,Fixed
Table_rows 表里所存多少行数据
Avg_row_length 平均行长度
Data_length 数据长度
Max_data_length 最大数据长度
Index_length 索引长度
Data_free 空间碎片
Auto_increment 做自增主键的自动增量当前值
Create_time 表的创建时间
Update_time 表的更新时间
Check_time 表的检查时间
Table_collation 表的字符校验编码集
Checksum 校验和
Create_options 创建选项
Table_comment 表的注释、备注

1、use information_schema;
2、select table_name,table_rows,ENGINE,table_type,Avg_row_length,Data_length,Max_data_length,Index_length,Data_free from tables where TABLE_SCHEMA = ‘databasename’ order by table_rows desc;

//碎片整理
OPTIMIZE TABLE tablename

mysql区分大小写问题

发表于 2020-03-25

mysql字符串区分大小写的问题

一、

1、 CREATE TABLE NAME(name VARCHAR(10));

对这个表,缺省情况下,下面两个查询的结果是一样的:

SELECT * FROM TABLE NAME WHERE name=’clip’;

SELECT * FROM TABLE NAME WHERE name=’Clip’;

MySql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,Binary标示敏感的属性.

CREATE TABLE NAME( name VARCHAR(10) BINARY);

2、 在SQL语句中实现 SELECT * FROM TABLE NAME WHERE BINARY name=’Clip’;

推荐使用

select * from pet where name = binary ‘whistler’;
这样可以保证当前字段的索引依然有效,而

select * from pet where binary name = ‘whistler’;
会使索引失效。

3、 设置字符集:

utf8_general_ci –不区分大小写

utf8_bin–区分大小写

二、 MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。
因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改MySQL的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。
其实方法是一样的,相应的更改windows中MySQL的设置就行了。

具体操作:

在MySQL的配置文件my.ini中增加一行:

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写

http://www.jb51.net/article/61591.htm

当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。
解决方案一:
于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。
通过查询资料发现需要设置collate(校对) 。 collate规则:
_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 _cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写

解决方法一:
1.可以将查询条件用binary()括起来。 比如:
select * from TableA where binary columnA =’aaa’;

  1. 可以修改该字段的collation 为 binary
    比如:
    ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

解决方案二:
mysql查询默认是不区分大小写的 如:
select from some_table where str=‘abc’;
select
from some_table where str=’ABC’;
得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做:
第一种方法:
要让mysql查询区分大小写,可以:
select from some_table where binary str=’abc’
select
from some_table where binary str=’ABC’
第二种方法:
在建表时时候加以标识
create table some_table(
str char(20) binary
)
原理:
对于CHAR、VARCHAR和TEXT类型,BINARY属性可以为列分配该列字符集的 校对规则。
BINARY属性是指定列字符集的二元 校对规则的简写。
排序和比较基于数值字符值。因此也就自然区分了大小写。

nginx.lua页面静态化

发表于 2020-03-18

gitlab迁移

发表于 2020-03-18

备份

备份时需要保持gitlab处于正常运行状态,直接执行 gitlab-rake gitlab:backup:create 进行备份

使用以上命令会在 /var/opt/gitlab/backups 目录下创建一个名称类似为1584426664_gitlab_backup.tar或者1530156812_2018_06_28_10.8.4_gitlab_backup.tar的压缩包

留意关键配置

/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cf postfix 邮件配置备份
gitlab_rails[‘backup_path’] = “/var/opt/gitlab/backups”

gitlab恢复

  • 拷贝

    scp root@44.88.11.22:/var/opt/gitlab/backups/1584426664_gitlab_backup.tar .

  • 停止相关数据连接服务

    [root@gitlab ~]# gitlab-ctl stop unicorn
    [root@gitlab ~]# gitlab-ctl stop sidekiq

  • 恢复

    ls /var/opt/gitlab/backups
    [root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=1584426664
    从1530156812_2018_06_28_10.8.4编号备份中恢复
    按照提示输入两次yes并回车
    修改权限

启动gitlab

[root@gitlab ~]# gitlab-ctl start

修改域名配置

vim /etc/gitlab/gitlab.rb
external_url ‘http://gitlab.exx.cn/'

vim nginx/gitlab.conf

gitlab-ctl reconfigure && gitlab-ctl start

测试

浏览器访问新服务器的地址进行查看,迁移成功

SQL优化器soar

发表于 2020-03-13

下载 XiaoMi 开源的 SQL 优化器 soar,更多详细安装请参考 soar install

1
2
3
wget https://github.com/XiaoMi/soar/releases/download/0.11.0/soar.linux-amd64
chmod a+x soar
​echo “select * from tb_area” | ./soar -test-dsn="数据库用户名:数据库密码@127.0.0.1:3306/my_base"

输出的信息拷贝到markdown工具下即可直观查阅提示信息 或者把结果输出到文件中

content=$(cat query.sql)
echo $content | ./soar.linux-amd64 -test-dsn=”root:123456@127.0.0.1:3306/intellif_base” > file.txt

参考:

https://github.com/guanguans/soar-php

jira破解安装

发表于 2020-01-04

1、官网下载

www.atlassian.com/software/ji…
https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-8.6.0.tar.gz

2、下载Mysql JDBC驱动,文件解压到jira解压文件lib中。

https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz

3、复制破解文件,替换原文件。

/atlassian-jira-software-8.0.2-standalone/WEB-INF/lib`

4、解压后,执行config.sh脚本(直接拖拽到终端),设置Jira_home、关联数据库

路径:/atlassian-jira-software-8.0.2-standalone/bin

5、启动Jira,执行start-jira.sh脚本

/atlassian-jira-software-8.0.2-standalone/bin

6、配置jira,http://localhost:8080/ ,配置过程会选择内置或者关联数据库,内置适合本机试用可以不安装数据库,服务器部署选择另一个。根据id生成一个License(点击生成JIRA试用许可证),登陆配置完成。

persona-toolkit

发表于 2020-01-04

pt-table-sync

  • 使用对两个库不一致的数据进行同步,他能够自动发现两个实例间不一致的数据,然后进行sync操作,
  • pt-table-sync无法同步表结构,和索引等对象,只能同步数据。
  • 可能大家多数使用该工具来解决主从数据不一致的问题,其实他的功能不止于此,也可以用来对两个不在一个主从拓扑实例,进行数据sync。

NOTE1:
如果是sync主从数据,只有当需要sync的表都有唯一键(主键或唯一索引),才能使用–sync-to-master and/or –replicate。
(没有唯一键,则只能在desitination上直接修改,而指定–sync-to-master and/or –replicate时只能在主库上修改),
如果sync主从时没有指定–replicate或者–sync-to-master则所有修改都在从库上执行(不论表上是否有唯一键)

阅读全文 »

ubuntu-install-golang

发表于 2020-01-04

ubuntu 本身就支持 golang
命令行安装

sudo apt-get install golang-go
配置运行环境

打开bashrc:
sudo vim ~/.zshrc
添加
GOPATH是go get指令默认下载和安装包的位置,通过go get指令,获取go的包,默认下载到GOPATH所指示的目录中.
GOROOT是go安装的位置,也是go可执行文件的位置,也就是说,当我们命令行中打出go的指令时,系统能不能准确调用go的可执行文件

1
2
3
4
export GOROOT=/usr/local/go   (根据自己的安装路径填写)
export GOPATH=/home/taoyx/program_develop/go_demo(根据自己的想要放置的路径填写)
export PATH=$PATH:$GOPATH:/usr/local/go/bin
`

是修改的配置文件生效

1
source ~/.zshrc

安装完成后 用一下命令查看

查看版本: go version
查看go的运行环境: go env

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
➜  ~ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/laugh/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/laugh/go"
GORACE=""
GOROOT="/usr/lib/go-1.10"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build161422718=/tmp/go-build -gno-record-gcc-switches"

elasticsearch聚合统计

发表于 2020-01-03

Elasticsearch的Aggregation功能也异常强悍。

Aggregation共分为三种:Metric Aggregations、Bucket Aggregations、 Pipeline Aggregations。下面将分别进行总结。

阅读全文 »
12…7

laugh

lanmp, ELK, go, python, vue, 分布式, k8s, docker, CI/CD

62 日志
5 分类
26 标签
© 2020 laugh
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4