如何安装MySQL服务器,使其在重新启动后不会“消失”?

都好:

通过使用以下命令安装Mysql服务器:

sudo apt-get install mysql-server 

在安装过程中,系统提示您select一个root密码。 安装后,我可以使用以下命令login到mysql监视器:

 mysql -u root -p 

并在提示时input密码并成功login。

问题:

当我重新启动我的服务器,然后尝试login到MySQL监视器,input密码时,我得到这个错误:

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 

当我查看/var/run/mysqld/我没有看到任何名为mysqld.sock文件。 之前在重新启动之前,在那个位置有一个按该名称的文件。 在我的客户端shell程序(mRemoteNG)中也突出显示了红色。

如果我尝试通过执行以下操作来创build该文件:

 sudo touch mysqld.sock 

它确实得到了创build,但没有突出显示红色,当我尝试再次login时,我得到了和以前一样的错误。

我曾尝试卸载并重新安装MySQL和MySQL服务器无数次,每次都出现同样的问题。

我也尝试stropping和启动MySQL服务,并没有任何区别。

注意:

我只提示在干净的Ubuntu安装的第一次安装mysql-server时select一个密码。 之后,每当我卸载并重新安装它,它不会提示我select一个密码,只是说它已经成功安装。

题:

如何正确安装MySQL服务器,以便它将始终在那里,即使重新启动服务器?

在Debian或Ubuntu上安装并运行mysql-server的方法实际上就是apt-get install mysql-server

如果这不起作用,你还有另一个问题,最好通过查看日志来解决问题,并试图找出为什么不能开始 – 问题绝对不是你如何安装它。

确保将其configuration为在重新启动后正确启动。 这通常意味着运行“update-rc.d mysqld defaults”(或者非常相似的东西)。 update-rc.d将创build从/etc/init.d到启动脚本目录的符号链接,例如/etc/rc3.d。

我不知道如果mysqld开始在你的Ubuntu版本上使用Upstart。 在这种情况下,将有一个类似的过程来将mysqld启动脚本放到/ etc / init中。

取决于发行版,您不需要手动创build套接字文件。

使用chkconfig(CentOS):

 chkconfig --level 345 mysqld on 

或者创build一个符号连接到您希望在该服务上执行的运行级别:

 # Mysql Startup ln -s /etc/init.d/mysqld /etc/rc.d/rc3.d/S85mysqld ln -s /etc/init.d/mysqld /etc/rc.d/rc4.d/S85mysqld ln -s /etc/init.d/mysqld /etc/rc.d/rc5.d/S85mysqld # MySQL clean shutdown ln -s /etc/init.d/mysqld /etc/rc.d/rc0.d/K85mysqld ln -s /etc/init.d/mysqld /etc/rc.d/rc6.d/K85mysqld 

当你说你已经尝试启动/停止服务,而且没有做任何事情时,你的意思是:在重新启动后自动启动没有任何作用,或者它在启动mysql服务方面没有任何作用期?

编辑:刚才意识到你用Ubuntu标签的post,检查Ubuntu的新贵脚本,如果你在10.04 +,似乎aptitude应该已经下降了一个在你的安装。 检查/ var / log / mysql(d)中的日志,如果你认为它被configuration为自动启动并且没有这样做。

首先,删除你创build的mysqld.sock文件 – 服务器将自动创build,并有一个文件可能导致它不能再启动。

安装它与apt-get安装mysql-server(就像你说的)。

重启。 如果重启后没有运行,请执行“sudo /etc/init.d/mysql start”

检查它现在正在运行。 如果没有,请在/ var / log / mysql和/var/log/daemon.log中查找任何错误消息

为了使它始终在启动时运行,请运行“update-rc.d mysql defaults”