Linux环境下MySQL的安装与启动完全指南
MySQL简介及安装前准备
MySQL作为一种开源的关系型数据库管理系统,凭借其高性能、稳定性和易用性,在Web开发、数据存储等领域得到广泛应用,在Linux系统中安装MySQL通常涉及环境配置、依赖安装、服务部署等步骤,不同Linux发行版(如Ubuntu、CentOS)的安装方式略有差异,但核心流程一致。
在开始安装前,需确保系统满足基本要求:建议使用64位操作系统,内存至少2GB(推荐4GB以上),磁盘空间预留1GB以上,建议更新系统软件包列表,确保安装过程顺利,对于Ubuntu/Debian系统,可执行sudo apt update && sudo apt upgrade;对于CentOS/RHEL系统,则使用sudo yum update或sudo dnf update。
在Ubuntu/Debian系统中安装MySQL
Ubuntu和Debian系统通常通过APT包管理器安装MySQL,以下是详细步骤:
-
添加MySQL官方仓库
官方仓库提供最新稳定版本的MySQL,首先下载并添加MySQL的APT配置文件:wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
在配置界面选择要安装的MySQL版本(如MySQL 8.0),确认后更新APT缓存:
sudo apt update
-
安装MySQL服务器
执行以下命令安装MySQL服务器及相关组件:sudo apt install mysql-server
安装过程中会提示设置root用户密码,需妥善保管该密码,后续登录和管理时需使用。
-
安全配置向导
安装完成后,运行安全配置脚本优化默认设置:sudo mysql_secure_installation
脚本会引导用户完成root密码重验、匿名用户移除、远程 root 登录限制、测试数据库删除及权限重载等操作,建议全部执行以提升安全性。
在CentOS/RHEL系统中安装MySQL
CentOS和RHEL系统通常使用YUM或DNF包管理器安装MySQL,以下是具体步骤:
-
添加MySQL官方仓库
下载并添加MySQL的Yum仓库配置文件:sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm -y
验证仓库是否添加成功:
sudo yum repolist enabled | grep ".*.*-.*-.*"
-
安装MySQL服务器
执行以下命令安装MySQL:sudo yum install mysql-community-server -y
安装过程可能需要较长时间,依赖包较多。
-
启动并配置MySQL
安装完成后,启动MySQL服务并设置开机自启:sudo systemctl start mysqld sudo systemctl enable mysqld
初次安装时,MySQL会生成临时root密码,可通过以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
使用临时密码登录后,运行
mysql_secure_installation进行安全配置,步骤与Ubuntu系统一致。
MySQL服务的启动、停止与重启
MySQL服务安装后,可通过systemctl命令管理其运行状态:
-
启动MySQL服务
sudo systemctl start mysqld
-
停止MySQL服务
sudo systemctl stop mysqld
-
重启MySQL服务
sudo systemctl restart mysqld
-
查看服务状态
sudo systemctl status mysqld
-
设置开机自启
sudo systemctl enable mysqld
若需禁用开机自启,使用
sudo systemctl disable mysqld。
MySQL登录与基础配置
-
登录MySQL
使用root用户及密码登录:mysql -u root -p
输入密码后进入MySQL命令行界面。
-
修改root密码
若需修改root密码,执行以下SQL语句(替换new_password为实际密码):ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
-
创建新用户及数据库
以创建用户dev_user和数据库app_db为例:CREATE DATABASE app_db; CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'dev_password'; GRANT ALL PRIVILEGES ON app_db.* TO 'dev_user'@'localhost'; FLUSH PRIVILEGES;
常见问题与解决方案
-
服务启动失败
检查日志文件/var/log/mysqld.log定位错误原因,常见问题包括端口占用(默认3306)、配置文件错误(/etc/my.cnf)或磁盘空间不足。 -
无法连接MySQL
确认服务状态(systemctl status mysqld),检查防火墙设置(sudo ufw status或sudo firewall-cmd --list-ports),开放3306端口:sudo ufw allow 3306/tcp # Ubuntu sudo firewall-cmd --add-port=3306/tcp --permanent # CentOS
-
忘记root密码
停止MySQL服务,跳过权限表启动:sudo systemctl stop mysqld sudo mysqld_safe --skip-grant-tables &
无密码登录后,更新root密码,重启服务并正常启动。
在Linux系统中安装和启动MySQL是数据库管理的基础技能,通过官方仓库安装可确保版本稳定性和安全性,而systemctl命令的熟练使用能高效管理服务状态,安装完成后,务必进行安全配置并妥善保管凭据,定期备份数据以保障数据安全,掌握MySQL的部署与运维,将为后续应用开发和数据管理奠定坚实基础。















