Mac系统下MyPhpAdmin访问MySQL 8.0.25提示root用户访问被拒绝
macOS下MySQL 8.0.25 root账户访问被拒解决方案
问题原因说明
你之前执行跳过授权表命令报错是因为MySQL默认禁止以root系统用户运行mysqld进程;执行mysql -u root时未加-p参数,默认尝试无密码登录,因此返回using password: NO的报错。
操作步骤
- 第一步:停止当前运行的MySQL服务
可打开系统设置找到MySQL面板,点击「Stop MySQL Server」,也可执行命令:sudo /usr/local/mysql/support-files/mysql.server stop - 第二步:以跳过授权表模式启动MySQL
执行如下命令,指定以mysql系统用户运行,避免权限报错:sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --user=mysql &
执行后当前终端会输出启动日志,无需关闭,新开一个终端窗口执行后续操作。 - 第三步:重置root账户密码
新终端中执行命令直接登录MySQL:/usr/local/mysql/bin/mysql -u root
进入MySQL命令行后依次执行以下语句,将语句中的你的新密码替换为你要设置的root密码:
这里指定mysql_native_password密码插件是为了兼容MyPhpAdmin的登录验证逻辑。FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; FLUSH PRIVILEGES; exit - 第四步:重启MySQL到正常运行模式
先关闭跳过授权表运行的MySQL进程:sudo /usr/local/mysql/support-files/mysql.server stop
再正常启动MySQL服务:sudo /usr/local/mysql/support-files/mysql.server start - 第五步:验证登录并更新MyPhpAdmin配置
执行命令验证密码是否生效,输入刚才设置的密码后可正常进入MySQL即表示重置成功:/usr/local/mysql/bin/mysql -u root -p
打开MyPhpAdmin的config.inc.php配置文件,找到对应主机的配置项,填入正确的账号密码即可:$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '你的新密码';
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

