mysql源码安装最后一步是:安全启动mysql
bin/mysqld_safe --user=mysql &
用过mysql源码安装的人都知道,启动的时候可能会出现mysql启动不成功;
msyql启动不成功有以下3种情况:
1、/var/log/mariadb/mariadb.log 找不到
2、/var/run/mariadb/mariadb.pid 找不到
3、mysql.sock文件 找不到
mysql_safe安全启动失败 解决办法一:
前两种情况你可以先看根据此路径看一下文件是否真的存在,如果不存在就跟着路径创建文件即可,再给相应的权限,权限一定要属于mysql用户以及mysql组;
如果真这样做,另一个问题又来了,如下:
我们正确创造了“路径文件”,但是每次服务器重启的时候又会出现一个问题,服务器重启的时候又会启动不了mysql,它可能又会提示:“/var/log/mariadb/mariadb.log 找不到”或“/var/run/mariadb/mariadb.pid 找不到”又应该怎么办?难道我每次都需要重新创建吗?这是否是mysql源码安装的BUG呢?
答案当然不是;
mysql自启动(mysql_safe安全启动) 解决方法二:(推荐)
如果你有懂mysql启动原理,我们就会发现,mysql启动的时候每次都会去找默认的/etc/my.cnf文件,我们只需要把my.cnf下面两行代码注释即可!(可全注释,也可注释任何一行);
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
博主注释的是第二行;让mysql_safe启动的时候不要再去读此路径;就算你这路径文件不存在,也不影响你的mysql_safe安全启动;
注意:
再说明一下,linux服务器下,源码安装的php、msyql、nginx等自启动的文件路径是:/etc/rc.local
它和很多PHP环境一键安装包是不一样的;
mysql.sock文件 找不到 解决办法
直接用软链接即可,命令如下:
ln /var/lib/mysql/mysql.sock /tmp/mysql.sock
路径可以根据自己的sock文件做相应的修改;