TiDB 如何仅部署到当前服务器,该如何做?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
例如本机 ip 为:172.16.11.11
在配置互信那一步时,ssh-copy-id -i ~/.ssh/id_rsa.pub 172.16.11.11,这样是正常能部署 tidb的,这一步能不能使用 127.0.0.1或者 localhost 代替??
目前我使用 ssh-copy-id -i ~/.ssh/id_rsa.pub 127.0.0.1 后,在部署 tiDB 时会报错:


在使用 127.0.0.1 后,执行 tiup cluster deploy 会报错:
Error: none of ssh password, identity file, SSH_AUTH_SOCK specified (tui.id_read_failed)

topo.yaml 如下:

我是想着跟 mysql 一样,安装完成,把 mysql 的相关文件,复制到另一台服务器时,也是能正常使用,免去安装这一步骤
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

ssh-copy-id -i ~/.ssh/id_rsa.pub User@HostName -p Port
单机测试部署后面应该跟你yaml里配置的端口号吧?

没有啊,本来我直接使用 ssh-copy-id -i ~/.ssh/id_rsa.pub 172.16.11.11 配置互信之后 ,就是正常部署 TiDB 去使用的了

用127.0.0.1的话,真正认证时候好像还是用的是真实的物理ip

你这个想法很独特啊。但是你复制到其他机器,不就是每个tidb都是单机的吗?

是的,我这边本来就是安装的单机模式,没有多台服务器去部署

生产环境不能单机哦,一点 TiDB 的优势发挥不出来

1 个赞

单机部署直接用–user=root -p 就行,互信就不用做了

单机部署可以不用去做ssh免密了,直接使用用户名和密码去部署

单机模式不用配置ssh互信

不做互信,在 topo.yaml 文件里使用 127.0.0.1 ,则会出现如图错误 :

那应该要怎么做? topo.yaml 配置文件应该怎么写? tiup cluster my_tidb v8.3.0 ./topo.yaml --user root -p ???我执行了这个,也还是提示报错啊:

useradd -m tidb
echo “tidb ALL=(ALL) NOPASSWD: ALL” >> /etc/sudoers
passwd tidb 修改Miami

tiup cluster … --user tidb

你用–user=root部署,会自动帮你添加tidb用户

没有啊,直接 --user=root 后直接报错了

看看我这篇文章吧 专栏 - Centos7 安装 TiDB 集群(最小化安装) | TiDB 社区

你执行 root@127.0.0.1看看能连吗

检查一下ssh配置

单机的需要自己能自己免密登录,也需要配置下