当前位置:首页 > 云服务器

myql在Linux系统中设置开机自启动的方法

游戏科技网2026年09月14日 23:10云服务器20
描述:MySQL服务名需通过systemctl list-unit-files | grep -i mysql确认,常见为mysqld.service或mysql.service;启用自启用sudo systemctl enable 服务名;二进制部署需手动创建/etc/systemd/system/my…
MySQL服务名需通过systemctl list-unit-files | grep -i mysql确认,常见为mysqld.service或mysql.service;启用自启用sudo systemctl enable 服务名;二进制部署需手动创建/etc/systemd/system/mysqld.service并执行daemon-reload;启用后须手动测试启动并查日志验证。

myql在Linux系统中设置开机自启动的方法

确认 MySQL 服务名是否为 mysqldmysql

不同发行版和安装方式(包管理器 vs 二进制部署)会导致服务名不同。RHEL/CentOS 8+ 和较新版本的 MySQL 官方包通常使用 mysqld;Debian/Ubuntu 默认可能用 mysql,但实际 systemd 单元文件名仍常为 mysqld.service

执行以下命令确认:

1

systemctl list-unit-files | grep -i mysql

常见输出包括:mysqld.servicemysql.service,或自定义名如 mysqld@default.service。务必以实际输出为准,后续操作全部基于这个服务名。

启用 systemd 开机自启(主流现代 Linux 发行版)

绝大多数当前使用的 Linux 发行版(CentOS 7+/RHEL 7+、Ubuntu 16.04+、Debian 8+)都使用 systemd。只要 MySQL 服务已正确注册为 systemd 单元,启用自启只需一条命令:

  • 若服务名为 mysqld.service:运行 sudo systemctl enable mysqld
  • 若服务名为 mysql.service:运行 sudo systemctl enable mysql
  • 启用后可通过 sudo systemctl is-enabled mysqld 验证,返回 enabled 表示成功
  • 该操作本质是创建符号链接到 /etc/systemd/system/multi-user.target.wants/ 目录下,不修改原单元文件

手动配置 service 文件(仅限二进制部署或无默认单元文件)

如果你是直接解压 MySQL 二进制包(如 mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz)并手动启动,系统通常没有预置 .service 文件,必须自己写一个。

myql在Linux系统中设置开机自启动的方法
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

创建文件:/etc/systemd/system/mysqld.service,内容示例(请按实际路径和用户调整):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

After=network.target

 

[Service]

Type=simple

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Restart=on-failure

RestartSec=10

LimitNOFILE=65535

 

[Install]

WantedBy=multi-user.target

关键点:

  • ExecStart 必须指向绝对路径的 mysqld 二进制,并指定 --defaults-file(否则可能找不到配置)
  • UserGroup 应与 MySQL 数据目录属主一致(常见为 mysql:mysql
  • 写完后运行 sudo systemctl daemon-reload,再执行 sudo systemctl enable mysqld

验证是否真能开机启动(别只信 enable 成功)

systemctl enable 只是注册启动项,不代表服务本身能正常启动。真正容易出问题的是启动时依赖、权限或配置错误。

  • 重启前先手动测试:sudo systemctl start mysqld,再用 sudo systemctl status mysqld 查看是否 active (running)
  • 如果失败,重点检查日志:sudo journalctl -u mysqld -n 50 -e,常见错误包括:Cant open the mysql.plugin table(数据目录未初始化)、Permission denied(目录权限不对)、Address already in use(端口被占)
  • 不要跳过 sudo systemctl daemon-reload(修改 service 文件后必须执行)
  • 某些云服务器或容器环境可能禁用部分 systemd 功能,需确认 init 系统确实是 systemd:ps -p 1 -o comm= 输出应为 systemd

最常被忽略的一点:MySQL 的 my.cnf 中若设置了 skip-networkingbind-address = 127.0.0.1,虽不影响自启,但会导致远程连不上——这不属于自启失败,但上线后第一反应常误判为“没起来”。

“myql在Linux系统中设置开机自启动的方法” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…

6元服务器租用,高性价比VPS主机推荐

6元服务器租用,高性价比VPS主机推荐 记得去年我刚开始创业,做了一个小型网站来展示我的产品。那时,我手头紧,预算有限,却急着需要一个可靠的服务器来托管网站。作为一个普通上班族,我对技术懂得不多,但我…

2021年云服务器优惠套餐推荐

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…

云服务器市场增长

云服务器市场增长 大家好,作为一个每天依赖云服务器的开发者,我亲身感受到市场的飞速膨胀。想象一下,几年前我还得在办公室的老旧电脑前苦苦挣扎,处理数据时总是卡顿不堪,但现在,只需轻轻一点,就能在云端获得…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…

云服务器10元月:经济型服务价格新记录

云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚…