mysqld 没有运行。如何启动它?

mysqld 没有运行。如何启动它?

我正在像这样设置 mysqladmin 密码:

mysqladmin -u root -hec2-50-17-36-83.compute-3.amazonaws.com password my_password

返回结果:

mysqladmin: connect to server at 'ec2-50-17-36-83.compute-3.amazonaws.com' failed
error: 'Unknown MySQL server host 'ec2-50-17-36-83.compute-3.amazonaws.com' (1)'
Check that mysqld is running on ec2-50-17-36-83.compute-3.amazonaws.com and that the port is 3306.
You can check this by doing 'telnet ec2-50-17-36-83.compute-3.amazonaws.com 3306'

我如何检查 mysqld 是否正在运行,以及更好的是,我如何启动它?

谢谢!

到目前为止:

我登录到远程数据库服务器(一个 EC2 实例),并执行了以下步骤:

vi /etc/mysql/my.cnf

该选项skip-networking和绑定地址已被注释掉。因此我取消了绑定地址的注释,并添加了我的远程服务器的 IP,然后重新启动了 mysqld。

那没用。所以我尝试了远程数据库服务器。那也没用。

在远程数据库服务器(EC2 实例)上,您可以执行的唯一 mysqld 命令是mysqld无选项的。我只是假设当我写这篇文章时,这实际上是在适当地重置它,因为它在继续之前会挂起命令几分钟。

netstat -nl | grep :3306在远程数据库服务器上运行此命令将返回以下内容:

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

不确定这是否相关,但远程数据库服务器上不存在 /etc/init.d/mysqld。但该命令确实存在于 /usr/sbin/mysqld 中。

答案1

它已经说过:

$ telnet ec2-50-17-36-83.compute-3.amazonaws.com 3306

如果无法连接,请确保主机名可以解析为正确的 IP 地址:

$ nslookup ec2-50-17-36-83.compute-3.amazonaws.com

如果已启动,请 ssh 到您的服务器并启动它(如果尚未启动):

$ ps -ef | grep mysql
$ sudo /etc/init.d/mysqld start

更新

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

这意味着你的 MySQL 服务器只监听本地主机,禁用远程访问。如果你真的想要允许,请执行以下步骤:

  • ssh 到你的服务器
  • 打开/etc/my.cnf文件并将 更改bind-address为你的公共 IP
  • 注释掉该skip-networking选项(#在开头加上一个)
  • 重新启动mysqld:/etc/init.d/mysqld restart
  • 授予用户访问权限:grant all privileges on foo.* to 'user'@'IP' identified by 'password';

相关内容