编辑MySQL系统表

时间:2010-03-05 06:21:25

标签: mysql

通过添加新字段修改mysql用户表( mysql.user )后

ALTER TABLE mysql.user ADD id integer(11) unsigned FIRST;

并重新启动mysql守护程序,现在无法以任何用户身份登录。

我的问题是 mysql使用什么mecanism来防止其核心系统表被更改?我可以理解,如果我编辑字段定义,它会不会喜欢我,或者更糟糕的是,如果我删除了一些字段,但我觉得很奇怪,它根本不接受我添加新字段。有什么问题?

1 个答案:

答案 0 :(得分:1)

我有点惊讶,因为还没有一个名为id的字段。

有些想法浮现在脑海中,但它们都是猜测:

  • 代码需要mysql.user中的37个字段;添加第38个导致数据结构溢出
  • id内部特殊,添加后会导致意外情况
  • 系统完整性和健全性检查发现了意外的变化并且保护性地关闭