手机端下拉列表
400-002-9968

博客 > IP被某域名的DNS区域占用而无法移除怎么办?

IP被某域名的DNS区域占用而无法移除怎么办?

  • 标签:
  • plesk
  • 域名
  • ip
  • dns

浏览量:5111次评论:0次

作者:Christina时间:2019-09-06 04:54:52

适用版本:
•    Plesk 9.x for Linux
•    Plesk 10.x for Linux
•    Plesk 11.x for Linux
•    Plesk 12.0 for Linux
•    Plesk 12.5 for Linux
•    Plesk Onyx for Linux
•    Plesk 11.x for Windows
•    Plesk 12.0 for Windows
•    Plesk 12.5 for Windows


问题描述
无法从 Plesk工具与设置 > IP 地址 删除IP地址,出现下面的错误:
Error: IP address cannot be removed because it is used by DNS zone of one or more domains


原因
数据库不一致


解决方案
1. 使用SSH/RDP连接服务器


2. 根据如何备份/恢复Plesk数据库转储?教程中的说明备份当前的psa数据库。


3. 使用数据库中的新IP替换旧IP(其中'203.0.113.2'是需要移除的旧IP,而'203.0.113.3'是域名应在DNS设置中使用的另一IP):
# plesk db
update dns_recs set val='203.0.113.3' where val='203.0.113.2';
update dns_recs set displayVal='203.0.113.3' where displayVal='203.0.113.2';


如果上述方法没有帮助,请尝试下面的方案:
1. 找到其DNS区域阻止删除IP地址的域名:
mysql> set @ip_address := '203.0.113.2';
mysql> select d.name as DomainName, dnsr.type, dnsr.host, dnsr.id as DNS_record_ID from domains as d join dns_recs as dnsr on d.dns_zone_id=dnsr.dns_zone_id where [email protected]_address;


2. 对在输出信息中显示的每个域名,都需进入 Plesk > 域名 > example.com > DNS 设置 移除相应的记录。


3. 如果上一步的查询返回空的结果,则表示域名已被删除,但是有关IP地址的DNS记录仍保留在Plesk数据库中。请在 psa.dns_recs 表中找到包含存在该问题的IP地址的记录,手动将这些记录删除:
mysql> begin;
mysql> set @ip_address := '203.0.113.2';
mysql> select id, type, host, val from dns_recs where [email protected]_address;
mysql> delete from dns_recs where [email protected]_address;
mysql> commit;


4. 如果将所有订阅切换到新IP后出现该问题,可能是DNS记录没有进行正确更新。此情况下,请在dns_recs表中查找过时的条目:
mysql> SELECT * from dns_recs WHERE val = '';
在将该旧的IP删除之前,需要将这些过时条目全部更新(val中的旧IP应被更改为其它值)。


若要修复显示形式(在 Plesk web界面中),需执行以下查询:
mysql> UPDATE dns_recs SET displayVal = val WHERE val <> displayVal;

我的评论

还未登录?点击登录

微信扫码沟通
微信扫码沟通

微信扫码沟通

售前咨询
合作
售后
return head