启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错
转载自:http://www.cnblogs.com/super-lucky/p/superlucky.html
本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正。
我的是CentOS6.3+MySQL5.1.57。
重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
于是,我检察mysql状态:
> /etc/rc.d/init.d/mysqld status
显示stop,未运行。
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
MySQL Daemon failed to start.
Starting mysqld: [ FAILED]
>ps -ef | grep mysql
root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql 只有这一条
至此,我可以确定,mysql无法启动。
我开始排错,首先发现/tmp/mysql.sock不存在
>vim /etc/my.cnf
socket=/var/lib/mysql/mysql .sock
/var/lib/mysql/mysql .sock同样不存在
>find / -name mysql.sock
显示为空,未查询到mysql.sock文件,mysql.sock文件丢失了。
我看网上有人说mysql.sock套接字文件可以简单地通过重启服务器重新创建得到它,
>init 6 重启命令
重启后发现错误还是那样,没有任何改变,mysql.sock重启服务器未自动生成。
接下来了解到mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。
我尝试安全启动模式,mysqld_safe试图通过工作目录找到服务器和数据库,但mysqld_safe还是失败。
>mysqld_safe &
Starting mysqld daemon with databases from ....../mysql/var
STOPPING server from pid file .......pid
130802 15:17:11 mysqld ended
各种命令尝试无效的情况下,我开始了本次最大的收获----学会看错误日志。
在错误日志中,启动失败的原因极为明显,file ‘./mysql-bin。000004’ not found,failed to open!
mysql开启了bin日志功能,到数据库根目录查看该文件是存在的,可能是文件权限的问题。
>chown -R mysql:mysql /....../mysql/var
>mysqld_safe &
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK]
成功启动了!~
此时mysql.sock文件出现了,在/var/lib/mysql/mysql .sock。如下图所示,以”s”开头的文件都是socket文件。
> mysql -u root -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/tmp/mysql.sock
解决这个错误很简单,因为/tmp/mysql.sock不存在,用这样的方法:
>ln -s /var/lib/mysql/mysql .sock /tmp/mysql .sock
以”l”开头的文件是软链接文件。或者可以通过修改/etc/my.cnf文件来修正它。
成功解决了!~
就是这样一个问题折腾了我这么久,错误日志让它无所遁形。查看错误日志可以明确问题所在,而不是像我之前那样盲目的找错。
俗话说授人以鱼不如授人以渔,学会查看日志,你也可以方便快捷的解决问题了。
错误使人进步,我与这个错误斗争了四个多小时,对linux的“一切皆文件”这句话有了更深的了解,对我学习文件系统管理(目录树)有很大的帮助,让我的思维真正的从windows操作系统转向成linux系统。并最终解决问题,很有成就感,我喜欢这种感觉。
希望能对阅读的你有所帮助,谢谢!~
相关推荐
3、Can’t connect to local MySQL server through socket ‘/Data/mydata/mysql.sock’ socket文件目录不对应导致的问题 4、今天要说的就是 没有打开only_full_group_by Cause:...
在 CentOS7 系统上安装 MySQL 8 需要遵循一系列步骤,本文将详细介绍整个过程,包括如何解决可能出现的 `.sock` 文件问题。MySQL 8 是一个流行的开源关系型数据库管理系统,它提供了更高的性能、安全性和易用性。...
之前在网上看过好多关于mysql.sock不见的问题,并没有关注这个东西存在的意义,直到自己的mysql也出现了相同的问题。让人纠结了一把…… 代码如下:zhouqian@zhou:~$ mysqlERROR 2002 (HY000): Can’t connect to ...
4.4 启动mysql_safe # bin/mysqld_safe --user=mysql & 4.5 设置MySQL的root帐号密码 - 自动设置:# ./bin/mysql_secure_installation 或 - 手动置:# ./bin/mysqladmin -u root password '<PASSWORDHERE>' -------...
服务器断电后重启,导致MySQL连接失败。mysql.sock文件丢失,innodb引擎表损坏,最直接的解决办法。
Win32 上安装 MySQL 4.12.2 在 Win95 /Win98上启动 MySQL 4.12.3 在 NT 上启动 MySQL 4.12.4 在 Win32 上运行 MySQL 4.12.5 用 SSH 从 Win32 连接一个远程MySQL 4.12.6 MySQL-Win32与Unix ...
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown } # restart function function_restart_mysql() { printf "Restarting MySQL...\n" function_stop_mysql sleep...
在本文中,我们解决了两个常见的 MySQL 数据库无法启动的故障:mysql PID file not found 和 Can't connect to MySQL through socket mysql.sock。解决这些故障需要检查 MySQL 服务器的配置文件、日志文件、套接字...
废话不多说了,直奔主题了。...mysql -S /tmp/mysql.sock 2、mysqld_safe 启动mysql服务器:./mysqld_safe –defaults-file=/etc/my.cnf –user=root & 客户端连接: mysql --defaults-file=/etc/my.cnf or mysql -S /t
如果服务状态异常,可以尝试手动停止MySQL服务,如`service mysql stop`或`systemctl stop mysql`。如果出现“PID file could not be found”的错误,可能需要通过`kill`命令找到并终止MySQL进程。 5. **检查配置...
在Linux系统中,MySQL数据库的安装和配置可能会遇到各种问题,特别是当涉及到连接问题时,如本文中提到的`mysql.sock`。`mysql.sock`是一个套接字文件,用于在同一台机器上的进程间通信,MySQL服务通过这个文件与...
报错信息: ERROR 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) ...其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动命令不对。 /u
将MySQL的启动脚本(如 `mysqld`)复制到系统的启动目录(如 `/etc/init.d/`),并使用 `chkconfig` 添加开机启动项。 13. **启动mysql服务**: 使用 `systemctl start mysqld` 命令启动MySQL服务。 14. **修改...
标题中的“解决xampp自启动和mysql.sock问题”指的是在Linux环境下,特别是Ubuntu系统中,如何让XAMPP在开机时自动启动,并解决MySQL通过套接字文件`/var/lib/mysql/mysql.sock`无法连接的问题。 首先,XAMPP是一个...
总结来说,当遇到“Can't connect to local MySQL through socket '/tmp/mysql.sock'”的错误时,应首先检查MySQL服务的启动配置、套接字文件的位置、权限设置以及服务状态。通过上述方法,通常可以解决连接问题。...
/home/gametest/xute/mysql/bin/mysqld -S /home/gametest/xute/mysql/mysql.sock ``` 创建用户和授权 进入 MySQL 数据库后,需要创建用户和授权。可以使用 SQL 语句来创建用户和授权。例如: ``` create user xute...
[mysql@rhel63 3306]$ ln -s /mysql/mysql56/3306/mysql.sock /tmp/mysql.sock ``` **3. 故障三** - **故障现象**:未明确给出故障现象。 - **故障解决**:通常遇到 MySQL 服务启动失败的情况时,可以通过以下...
其中,`sudo rm /var/lib/mysql/ -R`命令将删除MySQL服务器的数据目录,`sudo rm /etc/mysql/ -R`命令将删除MySQL服务器的配置文件目录,`sudo apt-get autoremove mysql* --purge`命令将卸载MySQL服务器软件包。...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2) ``` 解决方法是使用以下命令: ``` sudo chown -R _mysql:mysql /usr/local/var/mysql ``` 然后启动 MySql 服务: `...