首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝mysql访问

问拒绝mysql访问
EN

Server Fault用户
提问于 2011-07-07 22:50:31
回答 3查看 815关注 0票数 0

我在Ubuntu上使用MySQL遇到了一些困难。刚刚安装了Apache、MySQL、PHP和phpMyAdmin。phpMyAdmin给出:

代码语言:javascript
复制
#1045 Cannot log in to the MySQL server

每一次登录尝试。我试过用户名'root‘和空密码,用户名'root’和密码'root',用户名'mysql‘和密码'mysql',用户名'mysql’和密码'root‘。

当我试图在终端中运行Access denied for user root@x.x.x.x时,也会得到mysql错误:

代码语言:javascript
复制
mysql -u root

或

代码语言:javascript
复制
mysql -u root -p

或

代码语言:javascript
复制
sudo mysql

或者上面列出的任何组合。当我尝试以下内容时,我也会被拒绝访问:

代码语言:javascript
复制
mysqladmin -u root password secret

sudo /etc/init.d/mysql stop

甚至

代码语言:javascript
复制
service mysql stop

给unknown instance。

有人能告诉我怎么进入我的数据库吗?谢谢。

更新:

当我运行ps aux | grep mysql时,我看到了sudo mysqld --skip-grant-tables。

更新2:

重新启动后,我看到mysqld正在运行。然后我尝试service mysql stop并得到以下内容:

代码语言:javascript
复制
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:

最后,通过使用以下命令,我成功地更改了根密码:

代码语言:javascript
复制
sudo dpkg-reconfigure mysql-server-5.1

仍然不知道为什么我不能登录之前(不记得设置任何密码之前)。而且,不确定在重新启动后,deamon现在是否会正确运行.

EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-07-07 23:01:17

好的,我认为第一件事是检查它是否真的在运行。执行

ps aux | grep mysql

并检查包含mysqld的行。如果有,它正在运行,您应该能够连接(更多下面)。如果没有,那么您的服务就不会运行,因此您可以“连接或停止它”。

它也有可能变成僵尸(虽然我从未见过)。在这种情况下,您最简单的选择可能是重新启动整个盒子。我知道这听起来很激烈,但是僵尸是很难杀死的(因此就得名了)。

如果服务正在运行,但仍然无法连接,那么MySQL可能没有监听。

默认情况下,MySQL只允许127.0.0.1中的连接。如果您试图通过计算机的实际IP地址进行连接,则需要告诉MySQL侦听该IP地址。相关行在my.cnf中,如下所示:

代码语言:javascript
复制
bind-address            = 127.0.0.1

将地址修改为网络接口的IP地址,并重新启动服务。或者连接到127.0.0.1

票数 1
EN

Server Fault用户

发布于 2011-07-08 01:08:15

这里的提示是:

destination="com.ubuntu.Upstart“

Upstart服务条目中存在某种错误,从而阻止了它的正常启动/停止。你在跑露西吗?如果是这样的话,请看这儿提供一些额外的帮助。基本上,这听起来像一个包装错误。

票数 1
EN

Server Fault用户

发布于 2011-07-07 23:14:18

ubuntu上的" root“帐户的密码(因为root默认是禁用的)与mysql的根密码不同,它可能是在安装过程中提供的。

如果您不知道密码,并希望重置它,您可以执行以下操作

  1. 使用服务mysql Stop或/etc/init.d/mysql stop停止mysql
  2. 启动mysqld_safe跳过授权表: mysqld_safe --跳过-授予-表--跳过-网络&
  3. 登录,更改密码(在此模式下将禁用根密码) root@vps:~# mysql -u root -p输入密码:欢迎来到MySQL监视器。您的MySQL连接id是4 Server版本:5.1.41-3 ubuntu12.10-log (Ubuntu) Type‘help;或'\h’表示帮助。键入'\c‘以清除当前输入语句。mysql> update mysql.user set Password=Password("foobar"),其中user=" root ";查询OK,3行受影响(0.02秒)匹配:3次更改:3次警告:0 mysql>刷新权限;查询确定,0行受影响(0.03秒) 4;停止mysqld_safe进程,重新启动mysql,您应该知道您的根密码。关于如何在Google上执行此操作,还有许多其他指南,只有google用于“重置mysql root密码”。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/288093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档