centos 7 上配置mysql 开机启动详解
之前多次在centos7环境下配置mysql开机自启动出现了错误、现留下篇文章已做记录
一、centos7与centos6相比有什么不同:
1 在centos7中服务不在是用service这个命令来启动与停止,也不再用chkconfig来设置开机启动与否!
在centos7中所有对服务的管理都集中到了systemctl当中;systemctl不再是合之前一样依赖/etc/init.d/下
的脚本,它是通过配置文件来完成对服务的管理的;
二、创建systemctl管理mysql的配置文件:
1 创建配置文件
touch /usr/lib/systemd/system/mysql.service
systemctl对配置文件的后缀名有所要求、这个文件的后缀名要是以.service结尾的;当然由于它默认可以省略后缀,所以你也可以不指定后缀名。
不要问我为什么这个刻意的指出来,我搞了两天就是因为把service 写成了server ,所以一直没有成功;
三、配置文件样例:
1 目前我机器上的配置文件如下
[Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 #Restart=on-failure #RestartPreventExitStatus=1 #PrivateTmp=false
在systemctl配置文件中#号用来表示注释,这里最重要的一行是ExecStart它表示当systemctl去启动mysql时要执行的命令。
在你的系统上只要换掉这一句就可以了。
四、通过systemctl来启动mysql:
[root@workstudio system]# systemctl start mysql [root@workstudio system]# ps -ef | grep mysql mysql 9171 1 4 17:08 ? 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf root 9205 8508 0 17:08 pts/0 00:00:00 grep --color=auto mysql
五、通过systemctl 来设置mysql开机启动:
[root@workstudio system]# systemctl enable mysql Created symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to /usr/lib/systemd/system/mysql.service. [root@workstudio system]#