document.writeln('');
当前位置:首页 > 云服务器

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

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

确认 MySQL 服务名是否为 mysqld 或 mysql

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

执行以下命令确认:

1

systemctl list-unit-files | grep -i mysql

常见输出包括:mysqld.service、mysql.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 文件,必须自己写一个。

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(否则可能找不到配置)
  • User 和 Group 应与 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-networking 或 bind-address = 127.0.0.1,虽不影响自启,但会导致远程连不上——这不属于自启失败,但上线后第一反应常误判为“没起来”。

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

2021年最全云服务器优惠大揭秘

2021年最全云服务器优惠大揭秘 嗨,大家好,我是小明,一个普通的小白领,最近我打算自己建个网站分享旅行照片和心得。刚开始,我觉得这挺简单的,但一查资料,就陷入了云服务器的世界。哈哈,别笑,我刚开始也觉得云服务器是高科技的东西,搞得我一头雾水。不过,2021年的时候,各大云服务商推出了不少优惠套餐,让我这个新手觉得机会来了。你想知道2021年云服务器优惠套餐有哪些吗?让我来和你分享我的经历。 回想…

(html)如何发布_发布HTML文件到网络的方法【网络】

(html)如何发布_发布HTML文件到网络的方法【网络】

可通过四种方式将HTML文件部署为公开网站:一、GitHub Pages免费托管;二、云存储服务(如阿里云OSS)启用静态网站托管;三、VPS配置Nginx/Apache服务器;四、Netlify/Vercel无服务器快速部署。 如果您已创建好一个 HTML 文件,但希望他人能通过互联网访问它,则需要将该文件部署到可公开访问的服务器上。以下是实现此目标的多种方法: 一、使用 GitHub Pa…

10元云服务器:高性价比方案推荐

10元云服务器:高性价比方案推荐 去年,我刚开始创业,做了一个小网站,卖一些手工制品。那时候,我对技术一窍不通,但我知道网站需要一个地方来托管,不然怎么吸引客户?我预算很紧,每月只能拿出100块钱左右。刚开始,我试着用共享主机,结果不稳定,动不动就卡顿,还被黑客攻击过几次。我压力山大,总觉得自己的事业要夭折了。 有一天,我在网上偶然看到一个广告,说有“10元云服务器”,每月只要10块钱,就能提供基…

2021年云服务器优惠套餐活动

2021年云服务器优惠套餐活动 全球数字化转型浪潮持续深入,云计算作为新型基础设施建设的重要组成部分,其市场增长速度远超传统IT行业。根据Gartner最新发布的《中国云计算市场份额》报告显示,2020年第三季度至2021年第三季度期间,中国云计算市场规模从226亿美元增长至342亿美元,年复合增长率达30.7%。这一增长态势在2021年得到进一步巩固,各大云服务商纷纷推出优惠套餐以抢占市场份额。…

163邮箱官方网站地址 163邮箱网页版登录页面

163邮箱官方网站地址 163邮箱网页版登录页面

163邮箱官方网站地址在哪里?这是引起网友们普遍关注的,接下来由PHP小编为大家带来163邮箱网页版登录页面,感兴趣的网友一起随小编来瞧瞧吧! https://mail.163.com/ 账号注册与登录方式 1、支持使用手机号码快速注册新账号,以“手机号@163.com”形式生成专属邮箱地址,既记忆又操作便捷。 2、允许通过传统字母和数字组合的方式创建账号,需要以字母字母,满足不同用户的个性化…

19216811路由器重启方法 19216811 远程重启管理教程

19216811路由器重启方法 19216811 远程重启管理教程

1、可通过Web界面登录192.168.1.1,输入账号密码后在系统工具中点击重启;2、使用品牌App远程控制已绑定的路由器执行重启;3、预先设置定时任务让路由器自动重启;4、通过SSH连接并执行reboot命令实现远程重启。 如果您需要对IP地址为192.168.1.1的路由器进行重启操作,但无法直接接触设备,可以通过远程访问管理界面完成。以下是几种可行的操作方式: 一、通过Web管理界面远…