systemctl管理mysql5.7
提示:对于MySQL 5.7 版本,服务名称通常是 mysqld,如果MySQL已经以独立进程形式运行,但你希望将其配置为系统服务运行。
1.创建MySQL服务配置文件
vim /etc/systemd/system/mysql.service
在配置文件内添加以下内容
[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com/doc/refman/8.0/en/
After=network.target
[Service]
ExecStart=/usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql --socket=/data/mysql/mysql.sock
User=mysql
Group=mysql
Restart=always
[Install]
WantedBy=multi-user.target
/usr/local/mysql57/bin/mysqld_safe
:指定了MySQL服务器的启动程序,通常是mysqld_safe。这是一个MySQL提供的脚本,用于启动和监控MySQL服务器进程。--defaults-file=/etc/my.cnf
:指定了MySQL服务器的配置文件路径。在这个例子中,配置文件位于/etc/my.cnf
。--datadir=/data/mysql
:指定了MySQL服务器的数据目录。数据目录是MySQL存储数据库文件的位置。--socket=/data/mysql/mysql.sock
:指定了MySQL服务器的套接字文件路径。套接字文件用于与MySQL服务器进行通信。- ExecStart 指定了启动MySQL服务器的命令和选项,其中包括使用的配置文件(–defaults-file)、数据目录(–datadir)和套接字文件路径(–socket)。
- User 和 Group 指定了运行MySQL服务器进程的用户和组。
- Restart=always 指定了当MySQL服务器进程意外终止时,服务会自动重启。
- [Install] 部分定义了服务的安装配置,指定了在哪个目标(multi-user.target)下安装并启用该服务。
2.设置文件权限
运行以下命令更改文件的权限和所有权:
chmod 644 /etc/systemd/system/mysqld.service
chown root:root /etc/systemd/system/mysqld.service
3.重新加载systemd配置
systemctl daemon-reload
4.启动服务
启动mysqld服务前,因为MySQL已经以独立进程形式运行,所以要先把这些进程停止
pkill mysqld
启动mysqld
systemctl start mysqld
5.验证MySQL服务状态
systemctl status mysqld
注:还要确保设置了环境变量
vim /etc/profile
在文件内添加:
export PATH=$PATH:/usr/local/mysql57/bin
注释:这是一个用于设置环境变量的命令,将 /usr/local/mysql57/bin
目录添加到系统的 PATH
环境变量中。
改动/etc/profile
文件后,需运行source /etc/profile
,为了使修改后的环境变量立即生效,而不需要重新登录或重启系统。
当你修改了环境变量的配置文件(如 /etc/profile
),这些修改只会在新的登录会话中生效。如果你想要在当前的终端会话中立即应用这些修改,可以使用 source
命令加载配置文件,使修改后的环境变量立即生效。