我在Ubuntu上遇到了一些MySQL的问题。 刚安装了Apache,MySQL,PHP和phpMyAdmin。 phpMyAdmin给出:
#1045 Cannot log in to the MySQL server
每次login尝试。 我已经尝试了用户名'root'和空密码,用户名'root'和密码'root',用户名'mysql'和密码'mysql',用户名'mysql'和密码'root'。
当我尝试在terminal中运行mysql
时,我也得到了Access denied for user root@xxxx
错误的Access denied for user root@xxxx
:
mysql -u root
要么
mysql -u root -p
要么
sudo mysql
或上面列出的任何组合。 当我尝试这些时,我也会被拒绝访问:
mysqladmin -u root password secret sudo /etc/init.d/mysql stop
甚至
service mysql stop
给出unknown instance
。
所以 – 任何人都可以告诉我如何进入我的数据库? 谢谢。
更新:
当我运行ps aux | grep mysql
ps aux | grep mysql
我看到sudo mysqld --skip-grant-tables
。
更新2:
重启后,我看到mysqld
运行。 然后我尝试service mysql stop
并获得以下内容:
user@host:$ service mysql stop stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.47" (uid=1000 pid=2267 comm="stop mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))
跆拳道?
更新3:
我终于设法改变我的root密码通过使用这个命令:
sudo dpkg-reconfigure mysql-server-5.1
仍然不知道为什么我以前不能login(以前不记得设置任何密码)。 此外,不知道如果现在deamon将重新启动后正确运行…
好的,我认为首先要检查它是否真的在运行。 执行
ps aux | grep mysql
并检查一个包含mysqld
的行。 如果有,它正在运行,你应该能够连接(更多下面)。 如果没有,那么你的服务没有运行,因此你可以连接或停止它。
它也有可能成为僵尸(虽然我从来没有见过)。 在这种情况下,你最简单的select可能是重新启动整个盒子。 我知道这听起来很激烈,但僵尸很难杀死(因此名称)。
如果服务正在运行,但仍然无法连接,那么MySQL可能不在监听。
默认情况下,MySQL只允许来自127.0.0.1的连接。 如果您尝试通过计算机的实际IP地址进行连接,则需要通知MySQL侦听该IP地址。 相关的行在my.cnf中,如下所示:
bind-address = 127.0.0.1
将地址修改为networking接口的IP地址,然后重新启动服务。 或者,也可以连接到127.0.0.1
这里的提示是:
目的地= “com.ubuntu.Upstart”
你的Upstart服务入口有一些类似的bug,阻止它正常启动/停止。 你在运行Lucid吗? 如果是这样, 请在这里寻求一些额外的帮助。 基本上,这听起来像一个包装错误。
ubuntu的“root”账号的密码(默认情况下root用户使用sudo的密码)和mysql的root密码不一样,在安装的时候可能会提供这个密码。
如果您不知道密码并想重置密码,则可以执行以下操作
启动mysqld_safe跳过授权表:
mysqld_safe –skip-grant-tables –skip-networking&
login,更改密码(在此模式下将禁用root密码)
root @ vps:〜#mysql -u root -pinput密码:欢迎使用MySQL监视器。 命令以; 或\ g。 您的MySQL连接ID是4服务器版本:5.1.41-3ubuntu12.10-log(Ubuntu)
input'help' 或'\ h'寻求帮助。 input'\ c'清除当前的input语句。
mysql> update mysql.user set Password = Password(“foobar”)where user =“root”; 查询确定,3行受影响(0.02秒)行匹配:3更改:3警告:0
mysql>刷新权限; 查询OK,0行受影响(0.03秒)
4; 停止mysqld_safe进程,重启mysql,你应该知道有你的root密码。 有很多关于如何在Google上这样做的其他指南,只是谷歌“重置MySQL的root密码”