我试图从我的 mysql.users 数据库中删除匿名用户。但是,我一直有奇怪的行为。当我输入命令时:
DROP User ''@'WOPR';
Run Code Online (Sandbox Code Playgroud)
我收到一条通用错误消息。所以,我重新启动了我的机器,并再次尝试。这次我得到了回应
Query OK, 0 rows affected.
Run Code Online (Sandbox Code Playgroud)
但是当我投入
SELECT User, Host, Password FROM mysql.user WHERE User='';
回报是:
+------+------+----------+
| User | Host | Password |
+------+------+----------+
| | WOPR | |
+------+------+----------+
Run Code Online (Sandbox Code Playgroud)
(WOPR 是我的主机名)
我运行命令
DROP User ''@'WOPR';
并得到相同的结果。
我正在 Arch Linux 内核版本 2.6.33 上运行全新安装的 MySQL 5.5。
有谁知道什么会导致这种行为?
在本地测试 wamp 设置上使用 phpmyadmin,以及几乎标题所述,有 3 个用户标记为 user = ANY,password = NO,例如:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Run Code Online (Sandbox Code Playgroud)
3 个任何用户都没有任何表的任何特定权限,因此看起来他们无能为力。这是某种通用安全措施,明确声明不属于任何其他用户组的“任何”用户没有特权吗?
我正在将单个 MySQL 数据库(约 10GB 未压缩)从一台服务器移动到同一网络上的另一台服务器。当前 MySQL 版本是5.1.41,新版本是5.5.24. 该数据库包含 MyISAM 和 InnoDB 表。是否可以使用这种方法:
/data目录从旧服务器复制到新服务器我意识到这个基本问题之前可能已经被问过 1000 次,但我见过的大多数问题都没有提到更改版本并支持 MyISAM 和 InnoDB。