我刚刚在我的开发机器上遇到了一个非常奇怪的情况:数据库在PHPMyAdmin中列出,但是没有任何表格。好奇,我打开了一个 mysql
客户端在命令行上,并且看到:
mysql> CREATE DATABASE somedb;
ERROR 1007 (HY000): Can't create database 'somedb'; database exists
mysql> DROP DATABASE somedb;
ERROR 1008 (HY000): Can't drop database 'somedb'; database doesn't exist
我正在运行Arch Linux并安装了AUR的Xampp软件包; MySQL安装来自那里。在我建立一个新的虚拟主机时,我可能会搞砸了一些东西,但无论如何,我完全不知道发生了什么。
任何人都可以对此有所了解吗?
更新:我尝试重新启动 mysql
服务器,现在它拒绝重新开始。我来看看日志。这是相关部分:
/opt/lampp/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130109 15:16:13 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130109 15:16:13 InnoDB: The InnoDB memory heap is disabled
130109 15:16:13 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
130109 15:16:13 InnoDB: Compressed tables use zlib 1.2.3
130109 15:16:13 InnoDB: Initializing buffer pool, size = 16.0M
130109 15:16:13 InnoDB: Completed initialization of buffer pool
130109 15:16:13 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /opt/lampp/var/mysql/ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
130109 15:16:13 mysqld_safe mysqld from pid file /opt/lampp/var/mysql/hostname.pid ended
Dunno如果它会帮助你,但由于某些不明原因,较新版本的phpMyAdmin不允许你使用命令“drop database”,而是你必须通过GUI按钮删除数据库。也许它会以某种方式影响你的命令行界面。你试过按钮吗? ---如果你的MySQL服务器被窃听,我建议你重新安装Xampp。 WAMPserver最后一次对我有趣,我没有长时间寻找这个问题,因为它令人沮丧和复杂,只是重新安装。魔法;它工作得很好。的xD
—
Ariane
不,我总是使用cli(实际上通过脚本)来操作数据库。 PHPMyAdmin只是一种很好的浏览方式。我也不想重新安装:我失去了所有的配置以便有机会解决它......我真的很想找到原因或解决方案。
—
Félix Saparelli