为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
linux
【概述】 场景 + 问题概述
创建了两个库,大概几千的数据量,增量和全量都可以,但是备份正式库的时候报错
【备份和数据迁移策略逻辑】
使用br命令进行全量备份
【背景】 做过哪些操作
执行命令:
/tidb-deploy/br/tidb-toolkit-v5.1.0-linux-amd64/bin/br backup db --pd 172.17.92.64:2379 --db sy --storage local:///nas/backup/all/data/sy_20211115-095120 --ratelimit 128 --log-file /nas/backup/all/log/sy_20211115-095120/backupdb.log
【现象】 业务和数据库现象
直接执行全量备份,直接报错
【问题】 当前遇到的问题
直接执行全量备份,直接报错
【业务影响】
【TiDB 版本】
v5.1.0
BR同版本
【附件】
全量备份错误.txt (17.5 KB)
检查下权限问题吧,执行备份的用户是哪个,对应目录是否已经创建,目录权限是否给了
caiyfc
3
建议查看sy_20211115-095120文件夹,是否每个tikv都能进行读写
1 个赞
/nas 备份使用的pd、所有的tikv需要挂载这个网络盘
集群中每台机器的tidb用户的id需要一样吗?现在发现创建的日志和数据文件显示是系统中其他用户。按道理来说应该是tidb用户
tidb集群中kv节点用户id不一致会出现权限问题吗
uid没有限制必须一样,你部署集群用的是哪个用户?
我用tidb用户执行的br命令,然后一直报权限问题。
就是kv节点那台服务器中的其他用户。
这个好像需要uid是一致的,你看我理解的对吗
应该是用同一个用户就行,就是集群部署用户和执行br的用户要一致,我每次都是这样做的,uid没有特别关注。
为啥你的kv节点会是别的用户,这里有点奇怪。部署的时候–user用的哪个用户,还有拓扑文件用的是哪个用户呢,是否和你这里说的其他用户是同一个?
直接修改uid,会对tidb集群有影响吗?我是开发对这些不太懂
总结一下:备份错误的原因是某个kv节点的权限不足导致。
kv节点是通过中控机直接部署的,部署的时候中控机使用的是tidb这个用户,uid是1002。
好巧不巧的是出现权限不足的kv节点所在的服务器里面已经存在一个用户uid是1002。
所以导致权限不足的kv节点所在的服务器tidb用户的uid变成了1003。
最终导致执行br命令的时候出现了权限不足的情况。
我是开发,以下操作步骤仅供参考
我是开发,以下操作步骤仅供参考
我是开发,以下操作步骤仅供参考
#提前把占用1002uid的用户uig gid给转成其他的id
usermod -u 1005 gitlab-runner
groupmod -g 1005 gitlab-runner
#停止权限不足机器tidb服务
tiup cluster stop lvya -N 172.17.92.63:4000,172.17.92.63:20160,172.17.92.63:2379
#把tidb的uig gid改成1002
usermod -u 1002 tidb
groupmod -g 1002 tidb
#启动tidb服务
tiup cluster start lvya -N 172.17.92.63:2379,172.17.92.63:20160,172.17.92.63:4000
#原来tidb服务的文件夹的权限用户和用户组都变成了1003,就是变成了一串数组
#这里需要把权限给回去
chown -R tidb:tidb ./tidb-data
chown -R tidb:tidb ./tidb-deploy
system
(system)
关闭
20
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。