当前位置:首页 > Linux > 正文

Linux下如何轻松启动MySQL?

在Linux中启动MySQL服务,通常使用命令 sudo systemctl start mysql(或 mysqld),若需登录数据库,执行 mysql -u 用户名 -p并输入密码即可访问。

启动MySQL服务

检查安装状态

先确认MySQL是否已安装:

Linux下如何轻松启动MySQL?  第1张

   mysql --version

若未安装,需先安装:

  • Ubuntu/Debian:
    sudo apt update && sudo apt install mysql-server
  • CentOS/RHEL:
    sudo yum install mysql-server

启动服务

  • Ubuntu/Debian (使用systemd):
    sudo systemctl start mysql   # 启动服务
    sudo systemctl enable mysql  # 设置开机自启
  • CentOS/RHEL:
    sudo systemctl start mysqld  # 注意服务名可能是mysqld
    sudo systemctl enable mysqld

验证服务状态

   sudo systemctl status mysql  # 或 mysqld

出现 active (running) 表示启动成功。


登录MySQL数据库

使用root账户登录

   sudo mysql -u root -p
  • -u root:指定用户名(root为默认管理员)。
  • -p:提示输入密码(安装时可能已设置,若无密码直接回车)。

常见登录场景

  • 无密码登录
    若未设置密码,直接运行 sudo mysql
  • 远程登录
    mysql -u 用户名 -p -h 服务器IP

常见问题解决

忘记root密码

  • 步骤:
    1. 停止服务:sudo systemctl stop mysql
    2. 启动免密模式:
      sudo mysqld_safe --skip-grant-tables &
    3. 登录并重置密码:
      mysql -u root
      # 在MySQL命令行执行:
      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
      FLUSH PRIVILEGES;
    4. 重启服务:sudo systemctl restart mysql

服务启动失败

  • 检查错误日志:
    sudo tail -f /var/log/mysql/error.log  # Ubuntu
    sudo tail -f /var/log/mysqld.log       # CentOS
  • 常见原因:
    • 端口冲突(默认3306被占用)。
    • 数据损坏:尝试 sudo mysql_upgrade

安全建议

  1. 设置强密码
    安装后立即运行 sudo mysql_secure_installation,按提示加固安全。
  2. 避免root远程登录
    在MySQL中创建普通用户并授权:

    CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

  • 启动服务sudo systemctl start mysql(或 mysqld)。
  • 登录数据库sudo mysql -u root -p
  • 不同发行版命令略有差异,请根据系统选择对应操作。

引用说明参考MySQL官方文档[1],Linux系统管理手册[2],以及基于Ubuntu 22.04 LTS和CentOS 7的实测验证,安全建议遵循CIS MySQL安全基准[3]。
[1] MySQL 8.0 Reference Manual
[2] Linux man-pages
[3] CIS MySQL Benchmark

0