今日,有急事需要用到数据库,数据库却十分不给面子,竟然无法连接,以前完全没有问题的……
一如往日,熟练地键入连接指令,结果却给我抛出一个ERROR
~
第一感觉,是没有启动数据库,一看,果真没有启动,可是无论怎么启动都是抛出相同的ERROR
。
老办法,问百度,复制了错误提示,网上找到了一些解决方案,有一种比较“靠谱”(只是感觉上),然后尝试了一遍。
先查看是否存在/tmp/mysql.sock
,结果发现没有改文件;
然后find
指令搜了一遍,也没有搜到;
接着查看/etc/my.cnf
配置文件,发现有关这个文件的那行代码默认是被注释掉的。
于是将这里更改成了>>>
socket = /tmp/mysql.sock
并在该目录下创建了该文件,然后提到了777一个很大的权限,然后再次尝试链接,却发现抛出了“(38)”号错误提示(原来是(2)号),接着百度,发现并没有相关的解决方案,无奈,重新更改回来原样……
最后,没有办法了,抱着试一试的心态查看日志(mysqld started
),发现了如下问题:
经过再次查资料发现,引起该问题的原因是在之前启动mysqld
时使用了safe
模式。
直接运行mysqld
程序来启动Mysql
服务的方法很少见,mysqld_safe
脚本会在启动MySql
服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe
脚本来启动MySql
服务器的做法在BSD风格的Unix系统上很常见,非BSD风格的Unix系统中的mysql.server
脚本其实也是调用mysqld_safe
脚本去启动MySql
服务器的。
所以,在之后的启动mysql
时,应使用>>>
mysqld_safe --user=mysql
So……
Very Good!Very Beautiful!!!
学会看日志,真的很重要……