上一篇
Linux下如何轻松启动MySQL?
- Linux
- 2025-06-16
- 4243
在Linux中启动MySQL服务,通常使用命令
sudo systemctl start mysql
(或
mysqld
),若需登录数据库,执行
mysql -u 用户名 -p
并输入密码即可访问。
启动MySQL服务
检查安装状态
先确认MySQL是否已安装:
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密码
- 步骤:
- 停止服务:
sudo systemctl stop mysql
- 启动免密模式:
sudo mysqld_safe --skip-grant-tables &
- 登录并重置密码:
mysql -u root # 在MySQL命令行执行: ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES;
- 重启服务:
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
。
安全建议
- 设置强密码:
安装后立即运行sudo mysql_secure_installation
,按提示加固安全。 - 避免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