服务启动失败怎么办?

启动前的准备工作

  1. 确认MySQL安装状态
    执行以下命令检查是否已安装MySQL/MariaDB:

    rpm -qa | grep -E 'mysql|mariadb'
    • 若返回类似 mariadb-server-5.5.68-1.el7.x86_64mysql-community-server-8.0.26-1.el7.x86_64 的结果,说明已安装。

    • 若未安装,需先安装:

      # MariaDB(CentOS 7+默认)
      sudo yum install mariadb-server mariadb
      # MySQL官方版本(需先配置仓库)
      sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
      sudo yum install mysql-community-server
  2. 检查服务当前状态
    避免重复启动,先查看服务状态:

    sudo systemctl status mysqld      # MySQL官方版本
    sudo systemctl status mariadb     # MariaDB版本
    • 若显示 active (running) 表示已运行,无需操作。
    • 若显示 inactive (dead) 则需启动。

启动MySQL/MariaDB服务

方法1:使用systemctl命令(推荐)

sudo systemctl start mariadb    # MariaDB版本
# 设置开机自启(避免重启后服务停止)
sudo systemctl enable mysqld
sudo systemctl enable mariadb

方法2:使用service命令(旧版兼容)

sudo service mysqld start    # MySQL
sudo service mariadb start   # MariaDB

验证服务是否成功启动

  1. 检查服务状态

    sudo systemctl status mysqld    # 输出中应有 "active (running)"
  2. 连接MySQL测试
    尝试登录数据库:

    mysql -u root -p
    • 首次安装MySQL 8.0+需查看临时密码:
      sudo grep 'temporary password' /var/log/mysqld.log
    • MariaDB默认无密码,直接回车登录。
  3. 查看端口监听
    运行 ss -tulnp | grep 3306,若显示 LISTEN 表示服务已就绪。


常见问题与解决方案

  1. 启动失败:权限问题

    # 修复数据目录权限
    sudo chown -R mysql:mysql /var/lib/mysql    # MySQL
    sudo chown -R mysql:mysql /var/lib/mysql     # MariaDB
    sudo systemctl restart mysqld
  2. 端口冲突
    若3306端口被占用:

    sudo ss -tulnp | grep 3306   # 查看占用进程
    sudo systemctl stop 冲突服务名
  3. 配置文件错误
    检查配置文件语法:

    mysqld --defaults-file=/etc/my.cnf --validate-config

    修复后重启服务。

  4. 磁盘空间不足
    使用 df -h 检查 /var 分区,清理日志文件(如 /var/log/mysqld.log)。


安全建议

  • 重置root密码(首次启动后):

    sudo mysql_secure_installation

    按提示设置密码、移除测试数据库、禁止远程root登录等。

  • 配置防火墙

    sudo firewall-cmd --permanent --add-service=mysql
    sudo firewall-cmd --reload

引用说明

  • MySQL官方文档:MySQL Server System Variables
  • MariaDB知识库:Starting and Stopping MariaDB
  • CentOS系统管理指南:Managing Services with systemctl

重要提示:操作需sudo权限,生产环境建议提前备份数据(mysqldump),若问题持续,查看日志 /var/log/mysqld.log/var/log/mariadb/mariadb.log 定位原因。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9818.html

(0)
酷番叔酷番叔
上一篇 2025年8月7日 03:03
下一篇 2025年8月7日 03:25

相关推荐

  • Telnet如何快速退出?

    Telnet 是一种早期的网络协议,用于通过命令行远程登录其他设备,由于其传输数据为明文(不安全),现已基本被 SSH 取代,但在调试或访问旧设备时仍可能用到,以下是 安全退出 Telnet 连接 的 4 种方法,适用于 Windows、Linux 和 macOS 系统:标准退出方法(推荐)当连接正常时,直接输……

    2025年8月4日
    8400
  • 如何安全上网?这些关键内容你必须知道!

    在数字化时代,互联网已成为我们工作、生活、学习不可或缺的一部分,从在线办公到远程教育,从移动支付到社交娱乐,网络的便捷性渗透到每个角落,但与此同时,网络攻击、信息泄露、诈骗陷阱等风险也如影随形,安全上网不仅是个人的“必修课”,更是维护网络空间清朗的基础,常见网络风险:警惕这些“隐形陷阱”网络风险的隐蔽性和多样性……

    2025年11月19日
    5400
  • hive命令行怎么打开

    命令行输入hive即可打开Hive命令行,前提是已

    2025年8月17日
    8700
  • 如何快速查看全部PNG文件?

    场景需求当需要批量打开多个文件、程序或网页时,手动逐个操作效率低下,通过命令行/脚本实现自动化,可大幅提升工作效率,以下是跨平台解决方案:Windows 系统(命令提示符/PowerShell)方案1:批量打开文件:: 打开当前目录所有.txt文件for %f in (*.txt) do start &quot……

    2025年6月23日
    9900
  • 如何快速查看设备配置?

    display current-configuration命令用于查看网络设备当前生效的运行配置信息,是网络管理员进行故障排查、配置验证的核心工具,可实时反映设备所有激活参数,但需注意未保存的配置重启后将丢失。

    2025年8月1日
    9200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信