TiDB单实例安装配置

流程: 下载 → 解压 → 启停脚本 → 启停命令 → 修改密码

⑴ 下载

wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz

⑵解压

tar -zxf tidb-latest-linux-amd64.tar.gz -C [目标目录路径]

⑶启停脚本

# 启动脚本 start-tidb.sh
### 脚本内容如下:
#/bin/bash

# tidb 安装目录
TIDB_DIR=/opendb/tidb
# tidb 数据存储目录
TIDB_DATA_DIR=/opendbstore
# tidb 日志存储目录
TIDB_LOG_DIR=/opendblog

# 检查3个服务当前运行是否正常
echo "检查 TiDB 服务状态需要一些时间......"
echo "Checking the status of TiDB service will take some time......"
echo "-------------------------------------------------------------------------"

# 分别获取服务的pid
# tidb-server 运行 pid
TIDBSERVER_NUM="$(netstat -lntp | grep 'tidb-server' | wc -l)"
if [ ${TIDBSERVER_NUM} -gt 0 ];then
    TIDBSERVER_PID=$(ps aux | grep 'tidb-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(1)-tidb-server-pid:$TIDBSERVER_PID"
else
    TIDBSERVER_PID=$TIDBSERVER_NUM
    echo "(1)-tidb-server-pid:$TIDBSERVER_PID"
fi

# tikv-server 运行 pid
TIKVSERVER_NUM="$(netstat -lntp | grep 'tikv-server' | wc -l)"
if [ ${TIKVSERVER_NUM} -gt 0 ];then
    TIKVSERVER_PID=$(ps aux | grep 'tikv-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(2)-tikv-server-pid:$TIKVSERVER_PID"
else
    TIKVSERVER_PID=$TIKVSERVER_NUM
    echo "(2)-tikv-server-pid:$TIKVSERVER_PID"
fi

# pd-server 运行 pid
PDSERVER_NUM="$(netstat -lntp | grep 'pd-server' | wc -l)"
if [ ${PDSERVER_NUM} -gt 0 ];then
    PDSERVER_PID=$(ps aux | grep 'pd-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(3)-pd-server-pid:$PDSERVER_PID"
else
    PDSERVER_PID=$PDSERVER_NUM
    echo "(3)-pd-server-pid:$PDSERVER_PID"
fi

# 运行状态判断
if [ ${TIDBSERVER_PID} -gt 0 ] && [ $TIKVSERVER_PID -gt 0 ] && [ $PDSERVER_PID -gt 0 ];then
    echo "当前 TiDB 服务正在运行中,您不用再次进行启动服务"
    echo "您可以执行 stop-tidb.sh 进行停止服务"
    echo "程序退出!谢谢!"
    exit 0
fi


# 开始启动服务
if [ ${TIDBSERVER_PID} -eq 0 ] && [ $TIKVSERVER_PID -eq 0 ] && [ $PDSERVER_PID -eq 0 ];then

    #启动pd-server
    echo "开始启动 pd-server 服务......"
    ${TIDB_DIR}/bin/pd-server --data-dir=${TIDB_DATA_DIR}/pd --log-file=${TIDB_LOG_DIR}/pd.log &

    sleep 10
    # pd-server 服务PID号
    PDSEVER_PID=$(ps aux | grep "pd-server" | grep -v "color" | awk {'print $2'} | head -1)

    #启动tikv-server
    echo "开始启动 tikv-server 服务......"
    ${TIDB_DIR}/bin/tikv-server --pd="127.0.0.1:2379" --data-dir=${TIDB_DATA_DIR}/tikv --log-file=${TIDB_LOG_DIR}/tikv.log &

    sleep 15
    # tikv-server 服务PID号
    TIKVSEVER_PID=$(ps aux | grep "tikv-server" | grep -v "color" | awk {'print $2'} | head -1)

    #启动tidb-server
    echo "开始启动 tidb-server 服务......"
    ${TIDB_DIR}/bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=${TIDB_LOG_DIR}/tidb.log &
    sleep 3
    # tidb-server 服务PID号
    TIDBSEVER_PID=$(ps aux | grep "tidb-server" | grep -v "color" | awk {'print $2'} | head -1)


    echo "----------------TiDB 服务已经启动完毕,服务器进程信息如下----------------"
    echo "pd-server pid is ${PDSEVER_PID}"
    echo "tikv-server pid is ${TIKVSEVER_PID}"
    echo "tidb-server pid is ${TIDBSEVER_PID}"
    echo "-------------------------------------------------------------------------"
    echo "祝君使用愉快!"
    exit
fi
###########################################################################
# 停止脚本 stop-tidb.sh
### 脚本内容如下:
#/bin/bash
# 关闭tidb,先关闭tidb-server-->tikv-server-->pd-server

# 检查3个服务当前运行是否正常
echo "检查 TiDB 服务状态需要一些时间......"
echo "Checking the status of TiDB service will take some time......"
echo "-------------------------------------------------------------------------"
# 分别获取服务的pid
# tidb-server 运行 pid
TIDBSERVER_NUM="$(netstat -lntp | grep 'tidb-server' | wc -l)"
if [ ${TIDBSERVER_NUM} -gt 0 ];then
    TIDBSERVER_PID=$(ps aux | grep 'tidb-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(1)-tidb-server-pid:$TIDBSERVER_PID"
else
    TIDBSERVER_PID=$TIDBSERVER_NUM
    echo "(1)-tidb-server-pid:$TIDBSERVER_PID"
fi

# tikv-server 运行 pid
TIKVSERVER_NUM="$(netstat -lntp | grep 'tikv-server' | wc -l)"
if [ ${TIKVSERVER_NUM} -gt 0 ];then
    TIKVSERVER_PID=$(ps aux | grep 'tikv-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(2)-tikv-server-pid:$TIKVSERVER_PID"
else
    TIKVSERVER_PID=$TIKVSERVER_NUM
    echo "(2)-tikv-server-pid:$TIKVSERVER_PID"
fi

# pd-server 运行 pid
PDSERVER_NUM="$(netstat -lntp | grep 'pd-server' | wc -l)"
if [ ${PDSERVER_NUM} -gt 0 ];then
    PDSERVER_PID=$(ps aux | grep 'pd-server' | grep -v 'color' | cut -d ' ' -f 8 | head -1)
    echo "(3)-pd-server-pid:$PDSERVER_PID"
else
    PDSERVER_PID=$PDSERVER_NUM
    echo "(3)-pd-server-pid:$PDSERVER_PID"
fi

echo "-------------------------------------------------------------------------"

if [ $TIDBSERVER_PID -eq 0 ] && [ $TIKVSERVER_PID -eq 0 ] && [ $PDSERVER_PID -eq 0 ];then
    echo "当前,TiDB所有服务是关闭状态!"
    echo "你应该执行 start-tidb.sh 脚本!"
    echo "程序退出!谢谢!"
    exit 0

fi

if [ $TIDBSERVER_PID -gt 0 ] && [ $TIKVSERVER_PID -gt 0 ] && [ $PDSERVER_PID -gt 0 ];then
    echo "开始关闭 tidb-server 服务......"
    # 执行关闭 tidb-server
    /usr/bin/kill -9 ${TIDBSERVER_PID}
    sleep 5
    echo "tidb-server 服务已关闭"
    
    echo "开始关闭 tikv-server 服务......"
    # 执行关闭 tikv-server
    /usr/bin/kill -9 ${TIKVSERVER_PID}
    sleep 10
    echo "tikv-server 服务已关闭"
    
    echo "开始关闭 pd-server 服务......"
    # 执行关闭 pd-server
    /usr/bin/kill -9 ${PDSERVER_PID}
    sleep 5
    echo "pd-server 服务已关闭"
    echo "程序退出!谢谢!"
    exit 0
fi

⑷启停命令

# 追加如下内容至 /etc/profile
# 启动TiDB 
alias startTiDB='/usr/bin/bash [/path]/start-tidb.sh'
# 停止TiDB
alias stopTiDB='/usr/bin/bash [/path]/stop-tidb.sh'
# 重启TiDB
alias restartTiDB='/usr/bin/bash [/path]/start-tidb.sh && /usr/bin/bash [/path]/stop-tidb.sh'

⑸修改密码

# 首次进入不需要密码(兼容mysql语法)
mysql -h 127.0.0.1 -P 4000 -u root -p
mysql -h [IP] -p 4000 -u root

# 修改密码
aluter 'root'@'%' identified by ['passwd'];

# 查询用户
select user,host from mysql.user;

# 查询版本号
select version()\G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huang2OPS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值