我已被授予班级项目的服务器 root 权限。我需要创建 mysql 数据库和用户。但是,如果我没有找到大学里的合适人选,就没有 mysql root 权限。如果不重置 mysql root 密码,这可以实现吗?
服务器发行版 fedora mysql 版本 5.5
提前谢谢
答案1
我认为没有任何方法可以从系统根目录设置 mysql 用户,而不会破坏现有的 mysql 根用户(除非你碰巧有一个不是根目录的完全特权的 mysql 用户。)一些数据库引擎(例如 Oracle)将特定的系统用户识别为 DBA 用户,但据我所知,MySQL 不会这样做。
如果您能在大学里找到拥有 mysql 根信息的合适人选,那将是最简单的方法。
另一种选择是设置一个单独的 mysql 实例,运行不同的数据目录,并以一组干净的用户权限开始。
或者,作为一种长期尝试,在 root 的主目录中寻找一个包含 mysql root 凭据的 .my.cnf 文件。
答案2
mysqld 有一个名为“--skip-grant-tables”的选项。启用后,它会使 mysql 跳过任何密码或权限检查,接受任何用户/密码组合作为 mysql root,直到重新启动。
答案3
如果您可以安全地重新启动 mysql 服务器,则您有两个选择:
- 用户 47093 建议暂时禁用身份验证检查
- 使用初始化文件,但不是按照
UPDATE
页面要求的语句,而是使用 init-file 来运行GRANT