通过使用以下命令安装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”