mysql
在启动时,若是出错,每每出错信息量较少。这使得咱们没法准确的找到出错的信息点。html
笔者由阿里云自定义镜像安装FREEBSD系统后,启动mysql
出现了ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
错误。表面上看,是说链接不到/tmp/mysql.sock
,实际上,是因为mysql-server
没有成功启动,进而致使了/tmp/mysql.sock
未成功生成。mysql
mysql-server
安装后,其安装的位置为 /usr/local/etc/rc.d
, 咱们进入其文件夹,并执行 ./mysql-server start
, 发生以下错误提示:./mysql-server: WARNING: failed precmd routine for mysql
。
这说明,mysql-server
的确没有成功启动,报了错,但错误信息太宽泛,没有实际的指导意义。sql
mysql-server的安装位置: https://dev.mysql.com/doc/ref...
编辑 mysql-server
这个文件$ee mysql-server
注意须要root权限
而后找到下面的部分,并在/dev/null 2>/dev/null
及2>/dev/null
前加入#
。socket
mysql_create_auth_tables() { ... eval $mysql_install_db $mysql_install_db_args # >/dev/null 2>/dev/null ... } mysql_prestart() { ... if checkyesno mysql_limits; then eval `/usr/bin/limits ${mysql_limits_args}` # 2>/dev/null else return 0 fi ... }
此时,咱们再次执行./mysql-server start
将会看到具体的报错信息,笔者的报错信息以下:阿里云
2018-03-21 14:06:54 1827 [Warning] Can't create test file /var/db/mysql/iZ2zehhwq5a6tp1zk5quhiZ.lower-test /usr/local/libexec/mysqld: Can't change dir to '/var/db/mysql/' (Errcode: 2 - No such file or directory) 2018-03-21 14:06:54 1827 [ERROR] Aborting
缘由是没法将目录定位至'/var/db/mysql/'
rest
遂创建了相关的文件夹,解决了相关问题。code
./mysql-server stop
从新编辑mysql-server
进行恢复./mysql-server start
server