我的 MySQL (5.5) root 用户遇到了一些非常奇怪的问题。我试图允许外部主机访问 root 用户,但似乎我的 root@localhost 没有对本地数据库的“GRANT OPTION”!我认为此时的问题是由于我认为我有两个 root@localhost 用户,两者都有不同的授权规则,但我不知道如何重新安装。
我已经尝试删除 root 用户并重新创建它(我认为),重置 root 用户密码(修改 mysql 数据库本身)
我无法使用我一直指定的密码进入 root 帐户,而是使用备用密码,我什至不知道我是怎么得到的......这个备用用户似乎没有完整root 权限,但仍称为 root。
--下面发布的解决方案--
从 Remi-DB (CentOS 6) 升级到 MySQL 5.5 后,我们遇到了一个问题,每次重新启动我们的 SQL 服务器都会将自身设置回严格模式:
mysql> SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
然后我运行命令:
mysql> SET GLOBAL sql_mode="";
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
这对会话来说效果很好,但是在重新启动时,此更改丢失了(我也尝试过设置“SET SESSION”sqlmode。
我还想指出,我也在my.cnf
文件中尝试过这个。
唯一可行的解决方案是编写一个 init 文件以SET GLOBAL sql_mode
在重新启动时运行,但这很麻烦、烦人且不合理,必须有一种方法可以立即完成这项工作。
我试过重新安装 SQL 服务器无济于事。(当然,我确实从备份中取回了数据,因为这是一台生产服务器。)