1.启动mysql
systemctl start mysqld
systemctl status mysqld 然后status 查看原因,发现了这个:
提示启动失败:
$MYSQLD_OPTS $MYSQLD_OPTS (code=exited, status=1/FAILURE)
$MYSQLD_OPTS 这个有没有在mysqld.service 找到,结果发现没找到,以为是没设置值,然后设置了:
systemctl set-environment MYSQLD_OPTS="–general_log=1"
systemctl unset-environment MYSQLD_OPTS
运行还是报错,然后就不是这个原因,我去找了别的服务器的mysql 配置发现两面的service的配置不同
出问题的机子的配置:
正常的机子:
模式不一样:
对systemd的支持包括以下文件:
mysqld.service(RPM平台), mysql.service(Debian平台):systemd服务单元配置文件,包含有关MySQL服务的详细信息。
mysqld@.service(RPM平台), mysql@.service(Debian平台):喜欢 mysqld.service或者 mysql.service,但用于管理多个MySQL实例。
mysqld.tmpfiles.d:包含支持该tmpfiles 功能的信息的文件。此文件以名称安装 mysql.conf。
mysqld_pre_systemd(RPM平台), mysql-system-start(Debian平台):单元文件的支持脚本。仅当日志位置与模式匹配时(/var/log/mysql*.log对于RPM平台,/var/log/mysql/*.log对于Debian平台),此脚本才有助于创建错误日志文件。在其他情况下,错误日志目录必须是可写的,或者错误日志必须存在且可写入运行mysqld 进程的用户。
mysql配置文件路径:
具体信息查log 一步步解决就行,最常见无非是:
1.权限问题 运行的时候user得做个指定: --user=root 或者配置文件中加入
2. 文件权限问题 比如说lock的创建
socket指目录即可,然后配置一下权限
给mnt/var配置:
chown -R mysql:mysql /mnt/var/mysql 或者 /mnt/var都行
然后:运行一下:
systemctl start mysqld
此时如果还不行:
请复制这条命令:/usr/sbin/mysqld --user=root 运行一下,
在运行systemctl start mysqld