Mysql服务器通过使用以下命令安装得很好:
sudo apt-get install mysql-server在安装过程中,系统会提示我选择根密码。安装后,我能够使用以下命令登录到mysql监视器:
mysql -u root -p当出现提示时,我输入密码并成功登录。
当我重新启动服务器,然后尝试登录到mysql监视器时,输入密码时会得到以下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'当我查看/var/run/mysqld/时,没有看到任何名为mysqld.sock的文件。在重新启动之前,该位置有一个名为该名称的文件。在我的客户端shell程序(mRemoteNG)中,它也被突出显示为红色。
如果我试图通过以下操作创建该文件:
sudo touch mysqld.sock它确实被创建了,但没有突出显示为红色,当我再次尝试登录时,我得到了与以前相同的错误。
我已经尝试过卸载和重新安装mysql和mysql服务器无数次,而且每次都会出现同样的问题。
我还尝试了跳闸和启动mysql服务,但这并没有什么不同。
只有在mysql-server的第一次安装时,我才会被提示选择一个密码在一个干净的Ubuntu安装上。在此之后,每当我卸载并重新安装它时,它都不会提示我选择密码,只是说它已经安装成功。
如何正确安装mysql-服务器,使其即使在重新启动服务器后也始终存在?
发布于 2012-01-28 19:27:35
在Debian或Ubuntu上安装和运行mysql-server的方法实际上是apt-get install mysql-server。
如果这样做不起作用,那么您还有另一个问题,最好的解决方法是查看日志,并试图找出为什么它没有启动-问题完全不是如何安装它。
发布于 2012-01-28 19:35:38
确保它被配置为在重新启动时正确启动。这通常意味着运行"update-rc.d mysqld默认值“(或类似的内容)。更新-rc.d将创建从/etc/init.d到启动脚本目录的符号链接,例如/etc/rc3.d。
我不知道mysqld是否开始在您的Ubuntu版本上使用Upstart。在这种情况下,将有一个类似的过程将mysqld启动脚本放到/etc/init中。
发布于 2012-01-28 19:36:37
取决于发行版,您不需要手动创建套接字文件。
使用chkconfig (CentOS):
chkconfig --level 345 mysqld on或创建一个符号链接,指向您希望在以下基础上执行服务的运行级别:
# 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标记了这个帖子,如果你在10.04+上的话,检查Ubuntu的启动脚本,似乎在安装时智能应该已经为你掉了一个。如果您认为/var/log/mysql(d)中的日志配置为自动启动,并且没有这样做,也可以签出日志。
https://serverfault.com/questions/354594
复制相似问题