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

如何在PhpMyAdmin图形界面中搭建主从复制

我之前帮不少开发者解决过纯靠PhpMyAdmin配置MySQL主从复制的问题,确实官方文档对UI操作这块提得比较少,我把一步步的实操流程整理给你,全程尽量不用命令行:

主库(本地服务器)配置

1. 创建复制专用账户

进入本地的PhpMyAdmin后台,点击顶部导航的「用户账户」,然后点击「添加用户账户」:

  • 用户名设为比如repl_user(自定义即可)
  • 主机选择从库的公网IP(更安全),如果是测试阶段可以选%(允许任意主机连接,但生产环境不建议)
  • 设置一个安全的密码,勾选「授予所有权限」下面的复制 slave和复制 client权限,其他权限无需授予
  • 拉到页面底部点击「执行」保存用户

2. 开启二进制日志与设置服务器ID

点击顶部的「变量」(部分版本叫「系统变量」):

  • 在搜索框输入log_bin,把值改成ON,开启二进制日志(这是主从复制的核心基础,主库必须开启)
  • 再搜索server_id,设置为1(主库建议用1,从库要设成不同的数值,比如2)
  • 修改完成后需要重启MySQL服务:如果PhpMyAdmin的「状态」页面里有「重启MySQL」按钮就直接点击;如果没有,可能需要在本地服务器上手动重启服务(这是少数可能需要命令行的场景,但大部分环境的PhpMyAdmin都提供重启选项)

3. 获取主库同步位点

点击顶部的「状态」页面,往下找到「二进制日志」板块:

  • 记录下当前的「二进制日志文件」名称(比如mysql-bin.000003)和「二进制日志位置」(比如156)
  • 同时,为了保证从库初始数据和主库一致,建议此时导出主库数据:点击「导出」,选择「自定义」格式,勾选「添加CREATE DATABASE语句」和「禁用外键检查」,选中所有需要同步的表后导出SQL文件。导出时记得勾选「锁定表以确保数据一致性」(如果是InnoDB引擎,也可以选「使用事务」来避免锁表)
从库(远程服务器)配置

1. 设置服务器ID

进入远程服务器的PhpMyAdmin,同样到「变量」页面:

  • 搜索server_id,设置为2(必须和主库的server_id不同,比如主库是1,从库就用2、3这类数值)
  • 可选操作:同样开启log_bin,方便后续排查同步问题

2. 导入主库初始数据

点击顶部的「导入」,选择刚才从主库导出的SQL文件,点击「执行」完成导入,确保从库数据和主库完全一致

3. 配置主从同步并启动

找到顶部导航的「复制」(部分版本藏在「更多」或「操作」菜单里,不同PhpMyAdmin版本位置略有差异):

  • 在「主服务器配置」区域,填写主库的公网IP、之前创建的复制用户名repl_user、对应的密码
  • 把之前记录的主库「二进制日志文件」和「二进制日志位置」填到对应的输入框里
  • 点击「启动从服务器」(Start Slave)按钮

4. 验证同步状态

还是在「复制」页面的「从服务器状态」板块,检查两个关键状态:

  • Slave_IO_Running显示Yes
  • Slave_SQL_Running显示Yes
    如果这两项都是Yes,说明主从复制已经成功运行了!
额外注意事项
  • 主从库的MySQL版本尽量保持一致,避免出现兼容性问题
  • 本地主库的防火墙要开放3306端口,允许远程从库的IP访问
  • 如果你的PhpMyAdmin版本没有「复制」页面,可以用SQL查询来替代配置(这是唯一需要手动输入SQL的地方):
    在从库的「SQL」页面执行:
    CHANGE MASTER TO 
    MASTER_HOST='你的主库IP', 
    MASTER_USER='repl_user', 
    MASTER_PASSWORD='你的复制用户密码', 
    MASTER_LOG_FILE='刚才记录的日志文件名', 
    MASTER_LOG_POS=刚才记录的位置;
    
    然后执行:
    START SLAVE;
    
    之后同样可以在「状态」页面查看同步状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 11:27:34