Linux 7下MySQL自启动配置(glibc)

使用glibc编译后的mysql二进制安装方法被广泛使用,因为它和Windows下的zip方式一下,简单几个步骤,配置一下环境即可。而在Linux 7版本中,MySQL的自启动,不再建议将启动脚本存放到/etc/init.d目录中,因此,我们需要手动配置一下基于systemd方式的自启动文件。下文供大家参考。

一、当前环境

# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

安装位置(glibc解压)
# cd /usr/local/mysql/
# ls
bin COPYING data docs include lib man my.cnf README share support-files

二、配置mysql systemd服务

Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。
Systemd的功能是用于集中管理和配置类UNIX系统。
在Linux 7版本中,依旧兼容将启动脚本放到/etc/init.d,但不建议这么做。

由于系统存在基于yum方式安装的mysql,因此可以直接复制重命名后修改mysqld.service
# cp /usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/mysqld_glibc.service
# vim /usr/lib/systemd/system/mysqld_glibc.service

修改后的对比
# diff /usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/mysqld_glibc.service
35c35
< PIDFile=/var/run/mysqld/mysqld.pid
---
> PIDFile=/var/run/mysqld/mysqld_glibc.pid
47c47
< ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS
---
> ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld_glibc.pid $MYSQLD_OPTS

my.cnf的配置
# more /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
pid-file=/var/run/mysqld/mysqld_glibc.pid

启动mysqld_glibc服务
# systemctl start mysqld_glibc.service 
# ps -ef|grep mysql
mysql 7590 1 23 11:12 ? 00:00:00 /usr/local/mysql/bin/mysqld \
  --daemonize --pid-file=/var/run/mysqld/mysqld_glibc.pid

开启自启动
# systemctl enable mysqld_glibc.service

# mysql -uroot -p -S /tmp/mysql.sock
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

三、完整的mysqld.service

[root@centos7 ~]# grep -Ev "^$|^[#;]" /usr/lib/systemd/system/mysqld_glibc.service
[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
Type=forking
PIDFile=/var/run/mysqld/mysqld_glibc.pid
TimeoutSec=0
PermissionsStartOnly=true
ExecStartPre=/usr/bin/mysqld_pre_systemd
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld_glibc.pid $MYSQLD_OPTS
EnvironmentFile=-/etc/sysconfig/mysql
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维技术迷

连仕彤博客pyenv环境部署

pyenv是一款Python多版本管理工具,它可以很好的管理Python解释器、Python版本和Python虚拟环境,对于日常开发中,是一款很有必要安装的利器...

35650
来自专栏Alice

iOS .pch文件的使用

什么是.pch文件预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里。这些预先编译好的代码可以是任何的C/C+...

31170
来自专栏世界第一语言是java

sb2.0新版springcloud微服务实战:Consul+Zuul+Feign/Ribbon+Hystrix Turbine+Config+sleuth+zipkin

本篇文章是springboot2.x升级后的升级springcloud专贴,因为之前版本更新已经好久了,好多人评论可不可以出个新版本,大家一定要注意,这是spr...

41420
来自专栏腾讯Bugly的专栏

腾讯Bugly Unity3D Plugin使用指南

概述 Bugly Unity Plugin是专为基于Unity引擎开发的跨移动平台(iOS/Android)游戏APP而开发的异常监控插件,它能够自动捕...

67650
来自专栏信安之路

windows常用命令

在渗透测试中遇到 Windows 的概率是非常大的,那么在拿到一台服务器权限之后,通常会获得一个 shell,想要进行下一步渗透,几乎都是需要通过在 shell...

12900
来自专栏程序猿DD

使用Swagger2Markup实现API文档的静态部署(一):AsciiDoc

在阅读本文之前,您先需要了解Swagger的使用,如果您还不知道它是用来干嘛的,请先阅读《Spring Boot中使用Swagger2构建强大的RESTful ...

58650
来自专栏salesforce零基础学习

salesforce 零基础学习(二十九)Record Types简单介绍

在项目中我们可能会遇见这种情况,不同的Profile拥有不同的页面,页面中的PickList标签可能显示不同的值。这个时候,使用Record Types可以很便...

21760
来自专栏Java学习123

linux mount -t用法

3.3K50
来自专栏Hadoop实操

如何在CDH集群的非元数据库节点安装MySQL5.7.12

在CDH集群中默认使用的MySQL版本是操作系统自带的版本,一般操作系统自带的MySQL版本都会比较低,对于企业已有应用可能会用较新的MySQL版本,使用集群中...

40960
来自专栏上善若水

L017 android cmake的使用

指定编译库的环境,其中Toolchain Default使用的是默认的CMake环境;C++ 11也就是C++环境。两种环境都可以编库,至于区别,后续会跟进,当...

16130

扫码关注云+社区

领取腾讯云代金券