通过添加新字段修改 mysql 用户表 (mysql.user) 后
ALTER TABLE mysql.user ADD id integer(11) unsigned FIRST;
并重新启动mysql守护进程,现在无法以任何用户身份登录。
我的问题是mysql使用什么机制来防止其核心系统表被更改?我可以理解,如果我编辑字段定义,或者更糟糕的是,如果我删除一些字段,它不会喜欢我。字段,但我觉得很奇怪,它根本不接受我添加新字段。有什么问题吗?
最佳答案
我有点惊讶居然还没有名为 id
的字段。
我想到了几个想法,但它们都是猜测:
- 代码预计 mysql.user 中有 37 个字段;添加第 38 个导致数据结构溢出
id
在内部是特殊的,添加它会导致意外情况- 系统完整性和健全性检查发现了意外变化并进行保护性关闭
关于mysql - 编辑MySQL系统表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384935/