【发布时间】:2012-09-27 14:00:55
【问题描述】:
我的 MySQL 服务器有奇怪的行为。我确定我有一个拥有所有权限的帐户。这是证据:
mysql> show grants;
+-------------------------------------------------------------------------+
| Grants for ***@localhost |
+-------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO '***'@'localhost' IDENTIFIED BY PASSWORD '***' |
| GRANT ALL PRIVILEGES ON `***`.* TO '***'@'localhost' |
| GRANT ALL PRIVILEGES ON `***`.* TO '***'@'localhost' |
| GRANT ALL PRIVILEGES ON `***`.* TO '***'@'localhost' |
+-------------------------------------------------------------------------+
4 rows in set (0.04 sec)
但为什么我在执行此语法时总是收到错误消息:
mysql> ALTER TABLE outbox_multipart.ID AUTO_INCREMENT = 12;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 13924219
Current database: ***
ERROR 1142 (42000): ALTER command denied to user '***'@'localhost' for table 'ID'
我几乎可以做所有事情(INSERT、UPDATE、DELETE、TRUNCATE 等),但可以使用该帐户进行 ALTER。知道有什么问题吗?
我尝试用 phpmyadmin 和 php 脚本做同样的事情,但得到了相同的结果。似乎我无法更改该列。
【问题讨论】:
-
错误信息不会说谎,你是在远程机器上修改吗?
-
远程机器?不。我在我的 cPanel 上使用 phpmyadmin,但它失败了。然后我尝试使用 SSH 并得到相同的结果。所以基本上,我不在远程机器上。我在本地主机上(从服务器的角度来看)。
标签: mysql