本文共 2301 字,大约阅读时间需要 7 分钟。
docker pull yandex/clickhouse-server
sudo service docker startsudo systemctl enable dockersudo systemctl start docker
docker run -d --name ck-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
docker exec -it ck-server /bin/bash
clickhouse-client
create database statics engine=Ordinary;use statics;create table mysql_slow_log ( id UInt16, user_name String, host String, sql String, rows_examined UInt16, exec_time UInt16, query_time String, create_time date) engine=MergeTree(create_time, (id), 8192);
insert into mysql_slow_log (user_name, host, sql, rows_examined, exec_time, query_time, create_time)values ('xiaoming', '127.0.0.1', 'select * from music', 3000, 1587021607, '0.333', '2020-04-16 15:32:17');
clickhouse-go
)vendor
目录,并运行以下命令。govendor fetch github.com/ClickHouse/clickhouse-gogovendor fetch github.com/jmoiron/sqlx
func (slowLog MysqlSlowLogModel) GetAllFromCk(offset int, pageSize int)([]MysqlSlowLogModel, error) { connect, err := sqlx.Open("clickhouse", "tcp://127.0.0.1:9000?debug=true") if err != nil { return nil, errors.New("ck connect failover") } var items []MysqlSlowLogModel sql := "select * from statics.mysql_slow_log" if offset >= 0 && pageSize > 0 { sql = fmt.Sprintf("%s limit %d, %d", sql, offset, pageSize) } if err := connect.Select(&items, sql); err != nil { return nil, err } return items, nil}
错误示例:如果出现以下错误。
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the Docker daemon running?
解决方法:
sudo systemctl start dockersudo systemctl enable dockersudo systemctl restart docker
错误示例:在拉取镜像时可能出现以下错误。
Error response from daemon: Get net/http: TLS handshake timeout
解决方法:
git config --global http.postBuffer 524288000
转载地址:http://urndz.baihongyu.com/