在Ubuntu 20.04 LTS上安装MySQL 8.0的详细步骤讲解

安装MySQL 8.0在不同的操作系统上会有所不同,但在大多数Linux发行版上,安装过程都遵循相似的步骤。这里,我将提供在Ubuntu 20.04 LTS上安装MySQL 8.0的详细步骤,这些步骤可以轻松地应用到其他Linux发行版上,只需进行少量修改。

准备工作

  • 一台运行Ubuntu 20.04 LTS的服务器或虚拟机
  • 拥有sudo权限的用户账户

步骤 1: 更新系统包

  1. 打开终端或通过SSH连接到你的服务器。

  2. 更新包索引列表,确保所有已安装的软件都是最新的:

    bash 复制代码
    sudo apt update
    sudo apt upgrade -y

步骤 2: 安装MySQL 8.0

Ubuntu 20.04 LTS的默认软件仓库已经包含MySQL 8.0,因此你可以直接安装而无需添加额外的仓库。

  1. 安装MySQL服务器:

    bash 复制代码
    sudo apt install mysql-server -y

    这将安装MySQL服务器及其所有依赖项。

步骤 3: 安全配置MySQL

安装MySQL后,一个重要的步骤是执行安全配置脚本。这将帮助你提高MySQL服务器的安全性。

  1. 运行安全配置脚本:

    bash 复制代码
    sudo mysql_secure_installation
  2. 你将被提示设置密码策略等级。选择一个你认为合适的级别(0-2)。

  3. 设置root用户的密码。根据之前选择的密码策略,你可能需要提供一个符合要求的密码。

  4. 接下来,你将被问及是否移除匿名用户、禁用root用户的远程登录、删除test数据库,并重新加载权限表。建议对所有这些问题回答"Yes"。

步骤 4: 验证MySQL服务状态

确保MySQL服务正在运行:

bash 复制代码
sudo systemctl status mysql

如果服务未运行,使用以下命令启动它:

bash 复制代码
sudo systemctl start mysql

步骤 5: 登录MySQL数据库

现在,尝试使用root账户登录MySQL数据库:

bash 复制代码
sudo mysql -u root -p

输入你在安全配置中设置的密码。

步骤 6: 配置MySQL使用远程连接(可选)

默认情况下,MySQL配置为仅允许本地连接。如果你需要远程连接到MySQL服务器,需要做一些额外的配置。

  1. 登录到MySQL服务器:

    bash 复制代码
    sudo mysql -u root -p
  2. 选择MySQL数据库:

    sql 复制代码
    USE mysql;
  3. 更新root用户或其他用户,允许从远程地址连接:

    sql 复制代码
    UPDATE user SET host = '%' WHERE user = 'root' AND host = 'localhost';

    这将允许root用户从任何地址连接。出于安全考虑,建议创建一个新的用户用于远程连接。

  4. 应用更改:

    sql 复制代码
    FLUSH PRIVILEGES;
    EXIT;
  5. 修改MySQL配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf),注释掉bind-address这一行:

    ini 复制代码
    # bind-address = 127.0.0.1
  6. 重启MySQL服务:

    bash 复制代码
    sudo systemctl restart mysql

步骤 7: 开放防火墙端口(如果需要)

如果服务器运行的是UFW防火墙,并且你希望从外部网络连接到MySQL服务器,需要开放3306端口:

bash 复制代码
sudo ufw allow 3306
sudo ufw reload

完成以上步骤后,你应该已经成功在Ubuntu 20.04 LTS上安装并配置了MySQL 8.0服务器,包括基本的安全设置和远程连接配置(如果需要)。

相关推荐
草上爬1 小时前
OpenWrt:使用ALSA实现边录边播
ubuntu·openwrt·record·alsa·play
limingade2 小时前
ADB识别手机系统弹授权框-如何处理多重弹框叠加和重叠问题
adb·智能手机·android自动授权确认·安卓弹框授权·自动化点击android授权框
FREEDOM_X2 小时前
系统调试——ADB 工具
adb
曼汐 .6 小时前
数据库管理与高可用-MySQL高可用
数据库·mysql
MickeyCV6 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
刘 大 望6 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
LiRuiJie7 小时前
深入剖析MySQL锁机制,多事务并发场景锁竞争
数据库·mysql
睡觉待开机8 小时前
0. MySQL在Centos 7环境安装
数据库·mysql·centos
藥瓿亭8 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
一叶知秋哈8 小时前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink