Ubuntu上安装MySQL5.7教程

安装mysql 5.7 ubuntu

时间:2025-07-23 16:44


在Ubuntu上安装MySQL5.7的详尽指南 MySQL是一款广泛使用的关系型数据库管理系统,因其高性能、可靠性和灵活性而备受青睐

    MySQL5.7版本在功能、性能及安全性方面均有显著提升,因此,许多开发者仍倾向于选择这个版本

    本指南将详细介绍如何在Ubuntu系统上安装MySQL5.7,并涵盖安装后的基本配置和安全设置,确保您的数据库服务既安全又高效

     一、系统环境准备 在开始安装之前,请确保您的Ubuntu系统已经更新到最新状态,以避免因依赖问题导致的安装失败

    以下是系统环境准备步骤: 1.操作系统版本:本指南适用于Ubuntu 18.04 LTS、20.04 LTS及22.04 LTS版本

    其他版本可能需要进行额外的配置或依赖安装

     2.内存与存储要求:建议至少拥有1GB内存和5GB可用存储空间,以确保MySQL服务的稳定运行

     3.更新系统包: bash sudo apt update sudo apt upgrade -y 执行上述命令以更新系统包和依赖项

     二、安装MySQL5.7 由于MySQL5.7已从Ubuntu默认仓库中移除,我们需要手动添加MySQL官方APT仓库,并从该仓库中安装MySQL5.7

    以下是详细步骤: 1.添加MySQL APT仓库: bash sudo apt install wget -y wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb 在安装过程中,会出现配置界面

    请按照以下步骤进行选择: - 选择“MySQL Server & Cluster(MySQL服务器和集群)”

     - 选择“mysql-5.7(MySQL5.7版本)”

     - 选择“OK”以确认选择

     2.安装MySQL服务: bash sudo apt update sudo apt install -y mysql-server mysql-client 在安装过程中,系统会提示您设置root密码

    请务必设置一个强密码并牢记,以确保数据库的安全性

     三、安全配置 安装完成后,我们需要运行MySQL安全脚本,以完成一系列安全设置

    以下是安全配置步骤: 1.运行安全脚本: bash sudo mysql_secure_installation 按照提示完成以下安全设置: -验证密码强度插件:建议启用,以增强密码的安全性

     -更改root密码:如果需要在安装后更改root密码,可以选择此选项

     -移除匿名用户:建议选择“是”,以移除所有匿名用户,提高数据库的安全性

     -禁止root远程登录:对于生产环境,建议选择“是”,以禁止root用户远程登录,减少安全风险

    但在开发或测试环境中,您可能需要根据实际需求进行选择

     -移除测试数据库:建议选择“是”,以移除所有测试数据库,避免潜在的安全隐患

     -重新加载权限表:选择“是”,以确保所有更改生效

     2.检查服务状态: bash sudo systemctl status mysql 正常应显示“active(running)”状态,表示MySQL服务正在运行

     四、基础配置 为了优化MySQL的性能和安全性,我们需要对MySQL进行一些基础配置

    以下是基础配置步骤: 1.调整配置文件: bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 在配置文件中,您可以根据实际需求调整以下参数: -`bind-address`:默认为127.0.0.1,表示MySQL服务仅监听本地连接

    如需远程访问,请将其更改为0.0.0.0

    但请注意,开放远程访问可能会增加安全风险,请确保您的防火墙和访问控制策略已正确配置

     -`max_connections`:设置MySQL允许的最大连接数

    根据您的应用需求和服务器性能进行调整

     -`innodb_buffer_pool_size`:建议设置为物理内存的50%-70%,以提高InnoDB存储引擎的性能

     -`character-set-server`和`collation-server`:建议设置为utf8mb4,以支持更多的字符集和排序规则

     2.重启MySQL服务: bash sudo systemctl restart mysql 重启MySQL服务以使更改生效

     五、用户与权限管理 为了管理数据库用户和权限,我们需要登录到MySQL命令行界面

    以下是用户与权限管理步骤: 1.登录MySQL: bash sudo mysql -u root -p 输入之前设置的root密码以登录到MySQL

     2.创建新用户: sql CREATE USER username@% IDENTIFIED BY your_strong_password; 将`username`替换为您希望创建的用户名,`your_strong_password`替换为该用户的密码

    `%`表示该用户可以从任何主机连接到MySQL服务器

    根据您的实际需求,您可以限制用户只能从特定主机连接

     3.授予权限: sql GRANT ALL PRIVILEGES ON- . TO username@% WITH GRANT OPTION; 上述命令将授予`username`用户对所有数据库的所有权限

    如果您只希望授予特定数据库的权限,可以使用以下命令: sql GRANT ALL PRIVILEGES ON database_name. TO username@%; 将`database_name`替换为您希望授予权限的数据库名

     4.刷新权限: sql FLUSH PRIVILEGES; 刷新权限表以使更改生效

     六、常用操作指南 以下是一些MySQL的常用操作指南,帮助您更好地管理数据库服务: 1.启动/停止服务: bash 启动MySQL服务 sudo systemctl start mysql 停止MySQL服务 sudo systemctl stop mysql 重启MySQL服务 sudo systemctl restart mysql 2.查看MySQL版本: bash mysql --version 3.备份与恢复: -备份单个数据库: bash mysqldump -u username -p database_name > backup.sql 将`username`替换为数据库用户名,`database_name`替换为要备份的数据库名

    系统会提示您输入该用户的密码

    备份文件将保存为`backup.sql`

     -恢复数据库: bash mysql -u username -p database_name < backup.sql 将`username`替换为数据库用户名,`database_name`替换为要恢复的数据库名

    系统会提示您输入该用户的密码

    恢复操作将从`backup.sql`文件中读取数据并恢复到指定的数据库中

     七、故障排查与安全最佳实践 1.故障排查: -无法启动MySQL:检查MySQL错误日志以获取更多信息

    您可以使用以下命令查看错误日志: bash sudo tail -n50 /var/log/mysql/error.log -忘记root密码:如果忘记了root密码,您可以通过以下步骤重置密码: bash 停止MySQL服务 sudo