1.预备环境
环境说明:CentOS7 + Docker服务 +MySQL5.7
Docker 环境搭建可参考:https://www.jianshu.com/p/63dd98e738d1
2.拉取 TiDB 的最新 Docker 镜像
docker pull pingcap/tidb:latest
docker pull pingcap/tikv:latest
docker pull pingcap/pd:latest
3.主机信息以及TiDB 集群信息:
4.启动 PD
登录 host1 执行:
docker run -d --name pd1 \
-p 2379:2379 \
-p 2380:2380 \
-v /etc/localtime:/etc/localtime:ro \
-v /root/docker/tidb/data:/data\pingcap/pd:latest \
-v /root/docker/tidb/conf/pd.toml:/pd.toml:ro \
-v /root/docker/tidb/log/pd.log:/log/pd.log \
--name="pd1" \
--data-dir="/data/pd1" \
--client-urls="http://0.0.0.0:2379" \
--advertise-client-urls="http://192.168.1.69:2379" \
--peer-urls="http://0.0.0.0:2380" \
--advertise-peer-urls="http://192.168.1.69:2380" \
--initial-cluster="pd1=http://192.168.1.69:2380" \
--config="/pd.toml" \
--log-file="/log/pd.log"
OR 执行:
docker run -d --name pd1 -p 2379:2379 -p 2380:2380 -v /etc/localtime:/etc/localtime:ro -v /root/docker/tidb/pd/data:/data -v /root/docker/tidb/conf/pd.toml:/pd.toml:ro pingcap/pd:latest --name="pd1" --data-dir="/data/pd1" --client-urls="http://0.0.0.0:2379" --advertise-client-urls="http://192.168.1.69:2379" --peer-urls="http://0.0.0.0:2380" --advertise-peer-urls="http://192.168.1.69:2380" --initial-cluster="pd1=http://192.168.1.69:2380" --config="/pd.toml" --log-file="/log/pd.log"
5.启动 TiKV
登录 host1 执行:
docker run -d --name tikv1 \
-p 20160:20160 \
--ulimit nofile=1000000:1000000 \
-v /etc/localtime:/etc/localtime:ro \
-v /root/docker/tidb/kv/data:/data \
-v /root/docker/tidb/conf/tikv.toml:/tikv.toml:ro \
-v /root/docker/tidb/log/tikv.log:/log/tikv.log \
pingcap/tikv:latest \
--addr="0.0.0.0:20160" \
--advertise-addr="192.168.1.69:20160" \
--data-dir="/data/tikv1" \
--pd="192.168.1.69:2379" \
--config="/tikv.toml" \
--log-file="/log/tikv.log"
OR 执行:
docker run -d --name tikv1 -p 20160:20160 --ulimit nofile=1000000:1000000 -v /etc/localtime:/etc/localtime:ro -v /root/docker/tidb/kv/data:/data -v /root/docker/tidb/conf/tikv.toml:/tikv.toml:ro -v /root/docker/tidb/log/tikv.log:/log/tikv.log pingcap/tikv:latest --addr="0.0.0.0:20160" --advertise-addr="192.168.1.69:20160" --data-dir="/data/tikv1" --pd="192.168.1.69:2379" --config="/tikv.toml" --log-file="/log/tikv.log"
6.启动TiDB
docker run -d --name tidb \
-p4000:4000 \
-p10080:10080 \
-v /etc/localtime:/etc/localtime:ro \
-v /root/docker/tidb/log/tidb.log:/log/tidb.log \
pingcap/tidb:latest \
--store=tikv \
--path="192.168.1.69:2379" \
--log-file="/log/tidb.log"
OR 执行:
docker run -d --name tidb -p4000:4000 -p10080:10080 -v /etc/localtime:/etc/localtime:ro -v /root/docker/tidb/log/tidb.log:/log/tidb.log pingcap/tidb:latest --store=tikv --path="192.168.1.69:2379" --log-file="/log/tidb.log"
7.使用 MySQL 标准客户端连接 TiDB 测试
登录 host1 并确保已安装 MySQL 命令行客户端,执行:
mysql -h 127.0.0.1 -P 4000 -u root -D test
设置数据库密码以及为root添加远程连接的能力
(1)mysql重置密码并为root添加远程连接的能力。链接密码为 “root”(不包括双引号)
mysql > use mysql;
mysql > update user set password=password('root') where user='root';
mysql > flush privileges;
mysql > exit;
(2)重启mysql服务生效
service mysqld restart
本文参考自:https://pingcap.com/docs-cn/v3.0/how-to/deploy/orchestrated/docker/