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

通过phpMyAdmin创建的用户及root无法命令行访问MySQL如何解决

MAMP环境MySQL本地登录报错解决思路
  • 优先排查命令行调用的MySQL实例是否为MAMP自带版本
    • MAMP默认MySQL端口为8889,系统默认MySQL端口为3306,直接执行mysql -u testing -p默认请求3306端口会匹配错误实例,可携带参数指定端口和地址重试:mysql -u testing -p -P 8889 -h 127.0.0.1
    • 执行which mysql查看调用路径,若返回结果不是/Applications/MAMP/Library/bin/mysql,说明调用的是系统自带MySQL,可直接写全路径调用:/Applications/MAMP/Library/bin/mysql -u testing -p;如需长期生效,可在~/.zshrc或~/.bash_profile中添加export PATH="/Applications/MAMP/Library/bin:$PATH",执行source 对应配置文件路径后生效。
  • 确认实例匹配后仍无法登录,可通过安全模式重置权限
    1. 先在MAMP面板停止MySQL服务
    2. 终端执行命令启动安全模式:sudo /Applications/MAMP/Library/bin/mysqld_safe --skip-grant-tables --skip-networking,执行后不要关闭当前终端窗口
    3. 新开终端窗口,执行/Applications/MAMP/Library/bin/mysql -u root直接进入MySQL控制台
    4. 控制台内依次执行以下命令重置权限:
      FLUSH PRIVILEGES;
      -- 重置root用户密码
      ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义root密码';
      ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY '自定义root密码';
      -- 校验testing用户配置,主机为%的用户默认不支持localhost连接
      SELECT user,host FROM mysql.user WHERE user='testing';
      -- 重建localhost域的testing用户并授权
      DROP USER IF EXISTS 'testing'@'localhost';
      CREATE USER 'testing'@'localhost' IDENTIFIED BY '自定义testing用户密码';
      GRANT ALL PRIVILEGES ON *.* TO 'testing'@'localhost';
      FLUSH PRIVILEGES;
      
    5. 关闭安全模式终端窗口,在MAMP面板重启MySQL服务即可正常登录
  • phpMyAdmin创建用户注意事项
    • 创建用户时主机项选择「本地」或填写127.0.0.1,不要选择「任意主机(% )」,避免本地套接字连接被拦截
    • 创建用户完成后需手动执行FLUSH PRIVILEGES刷新权限,或退出phpMyAdmin重新登录确保配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:05