Mat*_*ndi 5 mysql permissions root
我的 MySQL (5.5) root 用户遇到了一些非常奇怪的问题。我试图允许外部主机访问 root 用户,但似乎我的 root@localhost 没有对本地数据库的“GRANT OPTION”!我认为此时的问题是由于我认为我有两个 root@localhost 用户,两者都有不同的授权规则,但我不知道如何重新安装。
我已经尝试删除 root 用户并重新创建它(我认为),重置 root 用户密码(修改 mysql 数据库本身)
我无法使用我一直指定的密码进入 root 帐户,而是使用备用密码,我什至不知道我是怎么得到的......这个备用用户似乎没有完整root 权限,但仍称为 root。
--下面发布的解决方案--
您可以在禁用身份验证的情况下启动 MySQL。从那里您可以创建/删除 MySQL 的管理帐户。
您可以在 MySQL 文档中找到详细信息:http : //dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
关闭 MySQL
使用以下命令启动 MySQL: mysqld --skip-grant-tables --skip-networking
在 mysql 中运行:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
对于较新的 MySQL 版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
GRANT ALL PRIVILEGES ON \*.\* TO 'root'@'localhost' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
关闭 MySQL
像往常一样启动 MySQL。
找到了解决方案——这是由于将 MySQL 从 MySQL 5.1 更新到 MySQL 5.5 并随之移动身份验证模式(MySQL 数据库本身)引起的。由于此模式有核心更新,因此在 5.5 数据库中使用它根本无法工作,从而导致两个主要错误: 删除 root Mysql 用户后无法授予权限