流程: 下载 → 解压 → 启停脚本 → 启停命令 → 修改密码
⑴ 下载
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