因此,如果我键入mysql -u root
我应该已登录,但是在尝试创建或访问数据库时,我会收到这个可爱的错误:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'test1'
. 我不知道为什么在以 root 身份登录后它正在尝试访问数据库''@'localhost'
,这让我现在有点发疯。可能相关,当我尝试设置 root 密码时出现错误mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'
。我尝试通过运行删除 mysql-server apt-get purge mysql-server
,然后重新安装,但没有成功。这是运行 Ubuntu Server 12.10 64 位并且 mysql 确实在运行。
- 编辑 -
我想知道是否可能没有root用户。所以我尝试使用启动 MySQL--skip-grant-tables
并创建 root 用户,但随后我得到了这个:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
. 好玩好玩好玩好玩。
--再次编辑--
我对加工中的所有mysql都采取了钝锤,并以root身份运行apt-get remove .*mysql.*
,apt-get purge .*msyql.*
然后重新安装了所有东西。这次安装按预期进行。如果没有人能对此提出答案(并且问题不再存在以进行测试可能无济于事)我会自己回答这个问题......似乎是这样的,绝对删除糟糕的安装是最好的选择。
--再次编辑--
我发现了导致问题的原因。我跑了rake db:create
,rake db:migrate
我新安装且功能正常的 MySQL 现在又出现了同样的问题。我想知道 rake 任务是否已经接管了 MySQL,就像一种真菌接管了一只蚂蚁一样……我的 MySQL 是一只被 rake 出没的僵尸蚂蚁(?!?!?!?!)。