所以我正在运行crunchbang linux,并使用以下终端命令安装mysql服务器:
sudo apt-get install mysql-server
安装程序运行没有问题,但当试图访问mysql时,我得到"错误1045访问被拒绝"。
错误1045(28000):用户'username'@'localhost'的访问被拒绝(使用密码:NO)
使用root也是如此。
我使用的教程指出,在安装mysql服务器的过程中,我会被要求设置密码,但这一步从未发生过。
编辑:从我的系统中完全删除了与mysql相关的所有内容(包括配置文件),问题仍然存在。
尝试时
mysql -u root mysql
错误也会发生,尽管根据文档,如果没有设置密码,这应该会授予我访问权限。
___更新:由于我的新笔记本电脑(现在运行ubuntu 12.10)仍然有这个问题,我会做一个快速更新:
两个
sudo dpkg-reconfigure mysql-server
也不是
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
工作。有什么想法吗?
__更新2
通过停止服务,然后遵循本指南,我似乎已经成功重置了根密码。
尽管如此,使用
mysql -u root -p
并且输入我设置的密码,它仍然抛出拒绝访问。
我会尝试该命令的一些变体(只需点击回车/空/无密码):
mysql-h localhost-u root-p
mysql-h 127.0.0.1-u root-p
mysql-h$HOSTNAME-u root-p
可能只是mysql不承认您是本地用户。
如果你是Ubuntu/Debian,你可以做以下事情:
sudo dpkg-reconfigure mysql-server
如果我没有弄错的话,它应该会问你初始密码的初始问题。
编辑:
然后根据https://help.ubuntu.com/community/ApacheMySQLPHP
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
您可以通过本手册重置密码http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
好吧,我的怀疑是对的:我使用synaptic包管理器安装了mysql,在安装过程中,这似乎跳过了设置根密码的步骤。我不知道为什么密码重置不起作用,但在从命令行安装mysql后,一切都很正常。