# linux设置mysql开机自启动

# MySQL启动服务

service mysqld start
service mysqld restart
service mysqld stop

# 开机自启动

vim /etc/rc.local
添加service mysqld start

注意: 如果默认mysql是自启动的,可能和rc.local中的自启动出现乱序之类的问题。

更稳妥的一个解决办法见:

# CentOS 7 程序自启动的问题

一、问题现象:

系统重启后,发现mysqld服务启动正常,但是依赖mysql数据库的应用程序A启动失败。

查看日志显示,程序A启动的时候链接数据库失败。

二、原因分析:

mysqld服务是正常启动的。

此时手动重启程序A,A也正常运行。

结论:说明程序A启动的时候,mysqld可能没有启动。

三、启动顺序

首先想到的就是调整mysqld服务的启动顺序,让它高过我的程序A。

然而发现 /etc/init.d 路径下没有关于mysqld的启动脚本。

四、解决思路

按照链接指示安装的mysqld默认是自动启动的。

可以取消mysqld的自启动,然后写一个启动脚本确保它启动在程序A启动之前。

五、解决办法

  1. 查看系统当前默认启动项目的方法,不再是setup之类的了。
systemctl list-unit-files

执行此命令能查看当前系统的服务启动和服务状态。

结果显示如下:

...
microcode.service       enabled 
mysql.service        enabled 
mysqld.service        enabled 
NetworkManager-dispatcher.service   enabled 
...
  1. 取消mysqld的自启动
systemctl disable mysqld

执行该命令后再查看当前系统的服务状态:

...
microcode.service       enabled 
mysqld.service        disabled
NetworkManager-dispatcher.service   enabled 
...
  1. 自定义/etc/rc.local
先执行systemctl start mysqld

再执行startA

关于评论

评论前请填好“昵称”、“邮箱”这两栏内容,否则不会收到回复,谢谢!