一、环境准备与前置检查
1.1 系统版本确认
在开始安装前,需确保操作系统版本符合要求。打开终端(Ctrl+Alt+T组合键),执行以下命令查看系统信息:
lsb_release -a
输出示例:
Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRelease: 22.04Codename: jammy
建议选择LTS(长期支持版)以获得更好的稳定性。当前主流版本20.04/22.04均经过充分验证,非LTS版本可能存在兼容性问题。
1.2 包管理器更新
执行系统级更新操作,确保获取最新的软件源信息:
sudo apt update
该操作会同步远程仓库的元数据,建议养成在安装新软件前执行更新的习惯。若遇到GPG密钥错误,可通过sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [密钥ID]解决。
1.3 依赖项预处理
对于需要编译MySQL客户端程序的情况,建议提前安装构建工具链:
sudo apt install build-essential -y
此步骤为可选操作,但可避免后续开发时重复安装编译环境。
二、MySQL服务器安装
2.1 核心组件安装
执行标准安装命令(包含服务器和客户端基础组件):
sudo apt install mysql-server -y
安装过程中会出现以下关键交互:
- 磁盘空间检查提示(需保留至少1GB可用空间)
- 配置文件预生成(位于/etc/mysql/目录)
- 初始root密码生成(可通过
sudo grep 'temporary password' /var/log/mysqld.log查看)
2.2 安全加固配置
安装完成后立即执行安全脚本(重要!):
sudo mysql_secure_installation
该脚本将引导完成以下安全设置:
- 设置root密码强度策略
- 移除匿名账户
- 禁止root远程登录
- 删除测试数据库
- 刷新权限表
建议选择中等强度密码(12位以上包含大小写字母和数字),生产环境需启用密码过期策略。
2.3 服务状态验证
通过systemd检查服务运行状态:
sudo systemctl status mysql
正常状态应显示:
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since ...
若服务未自动启动,执行:
sudo systemctl enable --now mysql
三、开发环境配置
3.1 客户端工具安装
开发人员需安装交互式客户端:
sudo apt install mysql-client -y
测试连接(使用安装时生成的临时密码):
mysql -u root -p
3.2 开发库安装
对于需要编程连接的场景,安装对应语言开发包:
- C/C++开发:
sudo apt install libmysqlclient-dev -y
- Python开发(推荐使用PyMySQL):
pip install pymysql
- Java开发(需额外配置JDBC驱动)
3.3 基础优化配置
修改默认配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf):
[mysqld]# 基础优化参数max_connections = 200innodb_buffer_pool_size = 1Gquery_cache_size = 32M
修改后需重启服务生效:
sudo systemctl restart mysql
四、常见问题处理
4.1 端口冲突解决
若3306端口被占用,可通过以下命令查找占用进程:
sudo lsof -i :3306
终止进程或修改MySQL监听端口(在配置文件中修改port参数)。
4.2 忘记root密码
按以下步骤重置:
- 停止MySQL服务
- 启动安全模式
sudo mysqld_safe --skip-grant-tables &
- 无密码登录并修改密码
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
4.3 远程连接配置
修改绑定地址(/etc/mysql/mysql.conf.d/mysqld.cnf):
bind-address = 0.0.0.0
创建远程用户并授权:
CREATE USER 'remote'@'%' IDENTIFIED BY '密码';GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';FLUSH PRIVILEGES;
五、进阶建议
- 定期维护:设置
mysqlcheck定期执行表维护 - 监控告警:配置日志轮转和慢查询日志
- 备份策略:使用
mysqldump或物理备份工具 - 高可用方案:考虑主从复制或集群部署
通过以上步骤,开发者可在5分钟内完成MySQL的基础部署,并具备进行简单开发的能力。对于生产环境,建议进一步研究性能调优和安全加固方案。