Mastodon默认没有注册验证码功能,所以如果开放注册的话就会有很多SPAM账号前来骚扰,看着这些占用用户名还一言不发的没头像的spam账号真的很烦,虽然可以从管理界面里封禁,但是看着这些账号的存在就让人很强迫…………故从数据库里删除还是最方便的,这样还能释放被占用的用户名。
当然这种方法最好只用于这些未发言的没在其他实例中出现的spam账号,普通账号的话释放用户名还是会造成歧义的吧(而且在其他示例也有信息存在了

首先进入服务器,使用官方提供的方法设置账号为ban状态,此状态会删除账户所有的资料、所发的toot,一定要三思。。

#非docker执行
RAILS_ENV=production bundle exec bin/tootctl accounts delete [USERNAME]

#docker执行
docker-compose run --rm web bin/tootctl accounts delete [USERNAME]

之后进入Pg数据库

#非docker执行
psql
#docker执行
docker ps
#从上述命令查找到pg所在的id
docker exec -it [id] /bin/bash -c "su - postgres"
psql

之后从web管理界面找到用户的id,如https://xxx.xxx/admin/accounts/13413,id为13413

#删除前最好确认下账户,以防删错
select id,username,domain from accounts where id='[id]';
#执行删除操作
delete from accounts where id='[id]';

当然删除前备份下数据库也是极好的。。。