在 Ubuntu 24.04 LTS 上安装 MySQL 8

1. 更新系统软件包

在开始安装 MySQL 之前,确保你的系统软件包是最新的。

sudo apt update
sudo apt upgrade -y

2. 添加 MySQL APT 存储库

首先,下载 MySQL APT 存储库的包:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb

然后,使用 dpkg 命令安装下载的包:

sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb

MySQL 官方还没有为你的 Ubuntu 版本(24.04 LTS,代号为 "Noble")提供正式支持。你可以选择使用与当前系统最兼容的已支持系统的 MySQL APT 存储库。建议选择ubuntu focal

(1) 配置 MySQL 产品和版本
  • 使用箭头键导航到 "MySQL Server & Cluster (Currently selected: mysql-8.0)" 选项。

  • 按下 Enter 键,这将允许你选择具体的 MySQL 服务器版本。

  • 在版本选择界面中,选择 "mysql-8.0" 版本(或其他你想要的版本)并按 Enter

(2) 配置 MySQL 工具和连接器
  • 使用箭头键导航到 "MySQL Tools & Connectors (Currently selected: Enabled)" 选项。

  • 按下 Enter 键,确认工具和连接器的配置(默认启用)。

(3) 配置 MySQL 预览包(默认禁用)
(4)确认配置
  • 使用箭头键导航到 "Ok" 选项。

  • 按下 Enter 键,确认并保存配置。

3. 更新软件包索引

添加 MySQL APT 存储库后,需要更新软件包索引:

sudo apt update

4. 安装 MySQL

现在,你可以安装 MySQL 服务器:

sudo apt install mysql-server -y​

5. 启动 MySQL 服务并使其在系统启动时自动启动

sudo systemctl start mysql
sudo systemctl enable mysql

6. 运行安全安装脚本

MySQL 提供了一个安全安装脚本,可以帮助你进行一些基础的安全配置。

sudo mysql_secure_installation

按照提示完成以下配置:

  • 移除匿名用户

  • 禁止 root 远程登录

  • 移除测试数据库

  • 重新加载权限表

7. 使用 ALTER USER 命令更改 root 用户的认证方式

MySQL 安装默认使用 auth_socket 插件进行认证,这意味着即使为 root 用户设置了密码,你也无法使用密码登录。你可以通过以下步骤将认证插件更改为 mysql_native_password,这样就可以使用密码登录了。

  1. 登录 MySQL Shell

    使用 sudo 登录 MySQL shell,因为默认情况下 root 用户使用 auth_socket 插件认证。

    sudo mysql

  2. 更改 root 用户的认证插件并设置密码

    在 MySQL shell 中运行以下命令:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
    FLUSH PRIVILEGES;

    请将 your_new_password 替换为你希望设置的 root 用户的新密码。

  3. 退出 MySQL shell

    EXIT;

  4. 使用新密码登录

    现在你应该可以使用新设置的密码登录 MySQL:

    mysql -u root -p
    #查看版本
    SELECT VERSION();

8.安装后MySQL创建的目录

数据库目录:/var/lib/mysql/
​
配置文件:/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
​
相关命令:/usr/bin(mysql,mysqladmin、mysqldump等命令。
mysql:MySQL 客户端,用于连接和管理 MySQL 数据库。
mysqladmin:MySQL 管理工具,用于执行数据库管理任务。
mysqldump:用于备份数据库。
​
启动脚本:/usr/lib/systemd/system/mysql.service

9. 配置防火墙(可选)

如果你的服务器有防火墙,你需要允许 MySQL 服务通过防火墙。假设你使用的是 ufw

sudo ufw allow mysql
sudo ufw reload

10. 卸载

sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo apt autoremove
sudo apt autoclean
sudo rm -rf /etc/mysql /var/lib/mysql

11.提示

如果安装DBeaver后,在测试连接时报错:Access denied for user 'root'@'localhost' (using password: YES)

在DBeaver刷新几次就好了。

<think>好的,用户想在Ubuntu 24.04.2 LTS安装MySQL 8,但官方还没有支持这个版本。我需要根据提供的引用资料来整理解决方案。首先,引用[1]提到可以选用与当前系统最兼容的MySQL APT存储库,比如Ubuntu Focal的版本。这可能涉及到修改源列表中的发行版名称。然后引用[3]和[4]提到了通过离线安装和配置的步骤,包括解压tar包和修改初始化步骤,以及用户授权的注意事项。 接下来,我需要将在线和离线两种安装方法都涵盖进去。在线安装可能需要添加旧的仓库,比如使用focal的仓库,替换noble为focal,然后更新并安装。同时需要注意权限问题,可能需要在安装后调整用户创建和授权的步骤,因为MySQL 8.0不允许在创建用户时同时授权,需要分开执行,如引用[4]所述。 另外,离线安装需要下载tar包,解压并设置目录权限,初始化数据库,然后修改配置文件。这部分需要确保步骤正确,特别是数据目录和二进制路径的设置。安装后的初始化步骤可能会因为版本差异出现问题,可能需要参考引用[3]中的具体解压命令和路径调整。 最后,用户可能需要验证安装是否成功,包括启动服务、登录MySQL并执行基本命令。还要提醒用户注意安全设置,比如运行mysql_secure_installation,以及处理可能遇到的依赖问题或服务启动失败的情况。 需要检查步骤是否清晰,并且逻辑正确。比如在线安装时更换仓库源,可能存在的依赖问题是否需要处理,是否需要手动安装某些软件包。另外,权限部分需要详细说明,避免用户遇到权限错误。还要注意引用资料的标注,比如在修改仓库时引用[1],在用户授权时引用[4]。</think>以下是在Ubuntu 24.04.2 LTS安装MySQL 8的详细指南,包含两种主要方法: ### 方法一:APT在线安装(推荐) 1. **添加MySQL APT仓库** ```bash sudo 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 Server & Cluster:mysql-8.0 - 操作系统选择:`Ubuntu Linux` -> `focal`(因官方暂未支持noble)[^1] 2. **更新软件源** ```bash sudo sed -i 's/noble/focal/g' /etc/apt/sources.list.d/mysql.list sudo apt update ``` 3. **安装MySQL服务** ```bash sudo apt install -y mysql-server mysql-client ``` 4. **安全初始化** ```bash sudo mysql_secure_installation ``` ### 方法二:离线二进制安装 1. **下载安装包** ```bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz ``` 2. **解压并安装** ```bash sudo mkdir -p /data/mysqldb/mysql-8.0.33 sudo tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz -C /data/mysqldb/mysql-8.0.33 --strip-components 1[^3] ``` 3. **初始化数据库** ```bash cd /data/mysqldb/mysql-8.0.33 sudo ./bin/mysqld --initialize --user=mysql --basedir=/data/mysqldb/mysql-8.0.33 --datadir=/data/mysqldb/data ``` ### 通用配置步骤 1. **用户权限设置** ```sql CREATE USER 'username'@'%' IDENTIFIED BY 'your_password'; -- 必须分步执行[^4] GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; ``` 2. **验证安装** ```bash systemctl status mysql mysql -u root -p -e "SELECT VERSION();" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值