You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确保虚拟机切换不同网络时IP不变,避免关联网站崩溃?

问题解决方案

1. 修复MySQL连接权限

你的MySQL服务器仅授权了第一台虚拟机的旧IP地址访问,IP变更后被拒绝连接,操作步骤如下:

  • 登录第二台虚拟机的MySQL终端:
    mysql -u root -p
    
  • 查看当前WordPress数据库用户的授权主机:
    SELECT user, host FROM mysql.user WHERE user='你的WordPress数据库用户名';
    
  • 删除旧IP的授权规则:
    DROP USER 'wp_user'@'旧IP地址';
    
  • 给新IP添加授权:
    CREATE USER 'wp_user'@'新IP地址' IDENTIFIED BY '你的数据库密码';
    GRANT ALL PRIVILEGES ON wp_database_name.* TO 'wp_user'@'新IP地址';
    FLUSH PRIVILEGES;
    
    若频繁切换网络,可改用通配符授权(仅限信任网络环境):
    GRANT ALL PRIVILEGES ON wp_database_name.* TO 'wp_user'@'%' IDENTIFIED BY '你的数据库密码';
    FLUSH PRIVILEGES;
    

2. 更新WordPress站点配置

IP变更后WordPress的站点URL和数据库连接可能失效,需同步更新:

  • 修改站点URL:
    若能登录WordPress后台,进入「设置-常规」,将「WordPress地址」和「站点地址」替换为新IP。
    若无法登录,直接操作数据库:
    USE wp_database_name;
    UPDATE wp_options SET option_value = 'http://新IP地址' WHERE option_name IN ('siteurl', 'home');
    
    (注意:表前缀若不是wp_,需替换为实际前缀)
  • 检查数据库连接配置:
    打开第一台虚拟机的wp-config.php文件,确认DB_HOST为第二台MySQL服务器的正确IP(若第二台IP未变动则无需修改)。

3. 长期优化方案

为避免后续IP变动再次引发问题,可采用以下方式:

  • 设置静态IP:在Wi-Fi/热点的路由器后台,将两台虚拟机的MAC地址绑定到固定IP,确保网络切换后IP不变。
  • 使用本地域名映射:在两台虚拟机的/etc/hosts文件中添加映射,例如:
    第二台IP  mysql-server
    第一台IP  wp-site
    
    然后将WordPress的DB_HOST设为mysql-server,站点URL设为http://wp-site,本地设备的hosts也同步添加该映射,实现域名访问。
  • 动态DNS服务:若需频繁切换网络,给第一台虚拟机配置动态DNS,绑定固定域名,用域名替代IP访问站点,同时MySQL授权可绑定该域名。

内容的提问来源于stack exchange,提问作者Maksym Pelyshko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:57:57