3万数据过滤删除很慢,无法获取锁,有啥好方法吗?

这是我实践中清理tidb大量数据的脚本,这样可以实现删除百万级别以上的数据,而且不影响tidb正常使用,希望能帮助到你

date1=date --date "7 days ago" +"%Y-%m-%d"
delete_db_sql=“delete from mysql_table where create_date_time<‘$date1’ limit 10000”

i=0

while ((++i)); do
a=/bin/mysql -uroot -p123456 -A mysql_database -h127.0.0.1 --comments -e "${delete_db_sql}" -vvv|grep "Query OK" |awk '{print $3}'
if(($a<1)); then
break 1
fi
sleep 1
printf “%-4d” $((i))

done