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