文章目录

    • 部署方式选择
    • TiDB-Local单机版
    • TiDB-Docker集群版
    • 扩展
      • CentOS安装MySQL
      • CentOS安装Git
      • CentOS安装Docker
      • CentOS安装Docker Compose
      • Docker Compose命令

部署方式选择

TiDB安装部署-编程知识网
TiDB安装部署-编程知识网
  通过查阅官方文档和网友踩坑经验,我们学习测试时就就直接使用官网推荐的Docker Compose方式快速构建TiDB集群即可(或者使用单机版)

https://gitee.com/pingcap/tidb

TiDB-Local单机版

  部署有很多的部署方式,限于环境,我先开始琢磨单机版如何部署。

  在Centos 6的版本中如果要部署,这个难度还是比较大的,而且会有很多未知的坑,根据官方的建议,是需要在Centos 7以上的版本中,否则glibc的版本问题会很快碰到。

  我们安装一套Centos7,采用快速的单机部署的方式来尝鲜。

1、下载安装包
wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz

2、解压文件
tar -zxvf tidb-latest-linux-amd64.tar.gz
cd tidb-latest-linux-amd64

3、启动
启动PD
./bin/pd-server --data-dir=pd --log-file=pd.log &
启动tikv
./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log &
启动tidb-server
./bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=tidb.log &

4、登录
mysql -h 127.0.0.1 -P 4000 -u root

5、体验
mysql> \s

mysql> show databases;
±——————-+
| Database |
±——————-+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql |
| test |
±——————-+
5 rows in set (0.00 sec)

mysql> select tidb_version();

mysql> select version();
±——————-+
| version() |
±——————-+
| 5.7.25-TiDB-v4.0.9 |
±——————-+
1 row in set (0.01 sec)

mysql> select user,host from mysql.user;
±—–±—–+
| user | host |
±—–±—–+
| root | % |
±—–±—–+
1 row in set (0.00 sec)

mysql> exit

TiDB-Docker集群版

1、准备环境
确保你的机器上已安装:
Docker(17.06.0 及以上版本)
Docker Compose
Git

2、快速部署
下载 tidb-docker-compose
git clone https://github.com/pingcap/tidb-docker-compose.git

3、创建并启动集群
获取最新 Docker 镜像
cd tidb-docker-compose && docker-compose pull && docker-compose up -d
注意:得先启动Docker
systemctl start docker
再执行上面的docker-compose命令

4、访问集群
mysql -h 127.0.0.1 -P 4000 -u root

5、访问集群 Grafana 监控页面
http://192.168.19.130:3000/
默认用户名和密码均为 admin
TiDB安装部署-编程知识网
6、集群数据可视化
http://192.168.19.130:8010/

扩展

CentOS安装MySQL

1.下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.yum安装
yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务器
yum -y install mysql-community-server

4.启动MySQL
systemctl start mysqld.service

5.查看MySQL运行状态
systemctl status mysqld.service

6.设置开机启动
systemctl enable mysqld

7.找出输入初始密码
grep "password" /var/log/mysqld.log

8.进入数据库
mysql -uroot -p
输入初始密码

9.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@1234';
注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),不然不能配置成功

10.开启mysql的远程访问
grant all privileges on *.* to 'root'@'%' identified by 'Root@1234' with grant option;
flush privileges;
exit
TiDB安装部署-编程知识网

CentOS安装Git

1.查看是否安装过git,若出现版本号,则代表已经安装了git
git --version

2.使用yum安装git
yum -y install git

CentOS安装Docker

1.卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

2.设置仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

使用以下命令来设置稳定的仓库。

yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

3.安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
yum install docker-ce docker-ce-cli containerd.io

4.启动 Docker
systemctl start docker

5.通过运行 hello-world
docker run hello-world
TiDB安装部署-编程知识网

CentOS安装Docker Compose

Compose 简介

  Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

  如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。

Compose 使用的三个步骤
  使用 Dockerfile 定义应用程序的环境。
  使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  最后,执行 docker-compose up 命令来启动并运行整个应用程序。

docker-compose.yml 的配置案例如下(配置参数参考下文)

# yaml 配置实例
version: '3'
services:web:build: .ports:- "5000:5000"volumes:- .:/code- logvolume01:/var/loglinks:- redisredis:image: redis
volumes:logvolume01: {}

1.Compose 安装
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 1.24.1。

2.将可执行权限应用于二进制文件
chmod +x /usr/local/bin/docker-compose

3.创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.测试是否安装成功
docker-compose --version

Docker Compose命令

1、Docker-Compose命令格式

docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
命令选项如下
-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。
-p,–project-name NAME指定项目名称,默认将使用所在目录名称作为项目名。
-x-network-driver 使用Docker的可拔插网络后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本)
-verbose输出更多调试信息
-v,–version打印版本并退出

2、docker-compose up

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
选项包括
-d 在后台运行服务容器
–no-color 不使用颜色来区分不同的服务的控制输出
–no-deps 不启动服务所链接的容器
–force-recreate 强制重新创建容器,不能与–no-recreate同时使用
–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build 不自动构建缺失的服务镜像
–build 在启动容器前构建服务镜像
–abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
–remove-orphans 删除服务中没有在compose文件中定义的容器
–scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数
docker-compose up
启动所有服务
docker-compose up -d
在后台启动所有服务
-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d

3、docker-compose ps

docker-compose ps [options] [SERVICE...]
docker-compose ps
列出项目中目前的所有容器

4、docker-compose stop

docker-compose stop [options] [SERVICE...]
选项包括
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
docker-compose stop
停止正在运行的容器,可以通过docker-compose start 再次启动

5、docker-compose -h

docker-compose -h
查看帮助

6、docker-compose down

docker-compose down [options]
停止和删除容器、网络、卷、镜像。
选项包括
–rmi type,删除镜像,类型必须是:all,删除compose文件中定义的所有镜像;local,删除镜像名为空的镜像
-v, –volumes,删除已经在compose文件中定义的和匿名的附在容器上的数据卷
–remove-orphans,删除服务中没有在compose中定义的容器
docker-compose down
停用移除所有容器以及网络相关

7、docker-compose logs

docker-compose logs [options] [SERVICE...]
查看服务容器的输出。默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过–no-color来关闭颜色。
docker-compose logs
查看服务容器的输出

8、docker-compose build

docker-compose build [options] [--build-arg key=val...] [SERVICE...]
构建(重新构建)项目中的服务容器。
选项包括
–compress 通过gzip压缩构建上下环境
–force-rm 删除构建过程中的临时容器
–no-cache 构建镜像过程中不使用缓存
–pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM为构建的容器设置内存大小
–build-arg key=val为服务设置build-time变量
服务容器一旦构建后,将会带上一个标记名。可以随时在项目目录下运行
docker-compose build来重新构建服务

9、docker-compose pull

docker-compose pull [options] [SERVICE...]
拉取服务依赖的镜像。
选项包括
–ignore-pull-failures,忽略拉取镜像过程中的错误
–parallel,多个镜像同时拉取
–quiet,拉取镜像过程中不打印进度信息
docker-compose pull
拉取服务依赖的镜像

10、docker-compose restart

docker-compose restart [options] [SERVICE...]
重启项目中的服务。
选项包括
-t, –timeout TIMEOUT,指定重启前停止容器的超时(默认为10秒)
docker-compose restart
重启项目中的服务

11、docker-compose rm

docker-compose rm [options] [SERVICE...]
删除所有(停止状态的)服务容器。
选项包括
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷
docker-compose rm
删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。

12、docker-compose start

docker-compose start [SERVICE...]
docker-compose start
启动已经存在的服务容器。

13、docker-compose run

docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
在指定服务上执行一个命令。
docker-compose run ubuntu ping www.baidu.com
在指定容器上执行一个ping命令。

14、docker-compose scale

docker-compose scale web=3 db=2
设置指定服务运行的容器个数。通过service=num的参数来设置数量

15、docker-compose pause

docker-compose pause [SERVICE...]
暂停一个服务容器

16、docker-compose kill

docker-compose kill [options] [SERVICE...]
通过发送SIGKILL信号来强制停止服务容器。
支持通过-s参数来指定发送的信号,例如通过如下指令发送SIGINT信号
docker-compose kill -s SIGINT

17、dokcer-compose config

docker-compose config [options]
验证并查看compose文件配置。
选项包括
–resolve-image-digests 将镜像标签标记为摘要
-q, –quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
–services 打印服务名,一行一个
–volumes 打印数据卷名,一行一个

18、docker-compose create

docker-compose create [options] [SERVICE...]
为服务创建容器。
选项包括
–force-recreate:重新创建容器,即使配置和镜像没有改变,不兼容–no-recreate参数
–no-recreate:如果容器已经存在,不需要重新创建,不兼容–force-recreate参数
–no-build:不创建镜像,即使缺失
–build:创建容器前,生成镜像

19、docker-compose exec

docker-compose exec [options] SERVICE COMMAND [ARGS...]
选项包括
-d 分离模式,后台运行命令。
–privileged 获取特权。
–user USER 指定运行的用户。
-T 禁用分配TTY,默认docker-compose exec分配TTY。
–index=index,当一个服务拥有多个容器时,可通过该参数登陆到该服务下的任何服务,例如:docker-compose exec –index=1 web /bin/bash ,web服务中包含多个容器

20、docker-compose port

docker-compose port [options] SERVICE PRIVATE_PORT
显示某个容器端口所映射的公共端口。
选项包括
–protocol=proto,指定端口协议,TCP(默认值)或者UDP
–index=index,如果同意服务存在多个容器,指定命令对象容器的序号(默认为1)

21、docker-compose push

docker-compose push [options] [SERVICE...]
推送服务依的镜像。
选项包括
–ignore-push-failures 忽略推送镜像过程中的错误

22、docker-compose ps

docker-compose ps[options] [SERVICE...]
显示各个容器运行的进程情况。

23、docker-compose unpause

docker-compose unpause [SERVICE...]
恢复处于暂停状态中的服务。

24、docker-compose version

docker-compose version
打印版本信息。