Ubuntu 上安装 MySQL 8.0.22

在 Ubuntu 上安装 MySQL 8.0.22,可以通过以下步骤完成:


步骤 1:更新系统软件包

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

步骤 2:下载 MySQL 官方 APT 仓库包

前往 MySQL 官方下载页面获取 APT 仓库配置包的链接:MySQL APT Repository

使用以下命令下载:

bash 复制代码
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb

步骤 3:添加 MySQL APT 仓库

安装下载的 .deb 文件:

bash 复制代码
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

在安装过程中,系统会显示一个界面供你选择 MySQL 版本。确保选中 MySQL 8.0,并确认。

如果错过了此配置,可通过以下命令重新配置:

bash 复制代码
sudo dpkg-reconfigure mysql-apt-config

步骤 4:更新软件包索引

运行以下命令更新仓库:

bash 复制代码
sudo apt update

步骤 5:安装 MySQL Server

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

安装过程中,系统会提示设置 MySQL 根用户的密码,按照提示输入并记住密码。


步骤 6:验证 MySQL 安装

启动 MySQL 服务:

bash 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

检查 MySQL 服务状态:

bash 复制代码
sudo systemctl status mysql

登录 MySQL:

bash 复制代码
mysql -u root -p

输入刚才设置的密码即可登录。


步骤 7:检查 MySQL 版本

登录后运行以下命令确认版本:

sql 复制代码
SELECT VERSION();

应该显示类似 8.0.22 的输出。


可选步骤:配置安全性

为确保 MySQL 安装安全,可以运行以下命令:

bash 复制代码
sudo mysql_secure_installation

按照提示完成配置,包括删除匿名用户、禁用远程 root 登录、移除测试数据库等。


完成后,你的 Ubuntu 系统应该已经成功安装了 MySQL 8.0.22。

如果在安装 MySQL 时没有提示设置 root 用户的密码,这可能是因为 MySQL 在较新的版本中默认使用 auth_socket 插件进行身份验证,而不是传统的用户名和密码。


解决方法:设置或修改 root 用户密码

  1. 登录 MySQL:

    使用 sudo 直接登录:

    bash 复制代码
    sudo mysql
  2. 切换到 mysql 数据库:

    sql 复制代码
    USE mysql;
  3. 修改 root 用户的身份验证插件并设置密码:

    如果希望改用密码进行身份验证,运行以下命令:

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'p~4Ps:=_@HcJHC';
    FLUSH PRIVILEGES;

    注意 :将 你的新密码 替换为你想设置的新密码。

  4. 退出 MySQL:

    sql 复制代码
    EXIT;
  5. 验证新密码:

    退出后,尝试使用新密码登录:

    bash 复制代码
    mysql -u root -p

    输入刚才设置的密码即可。


如果需要保留 auth_socket 插件

如果你希望继续使用 auth_socket 插件而不设置密码,只需通过以下命令确认 root 用户使用的身份验证方式:

sql 复制代码
SELECT user, host, plugin FROM mysql.user;

结果中,如果看到 root@localhost 的插件是 auth_socket,可以通过在系统中切换到 root 用户来直接访问 MySQL:

bash 复制代码
sudo mysql

重启服务(可选)

完成修改后,可以重启 MySQL 服务以确保更改生效:

bash 复制代码
sudo systemctl restart mysql

这样可以确保 MySQL 按你的需求正确配置身份验证方式。

CREATE USER 'bet'@'%' IDENTIFIED BY 'gbankclub';

CREATE USER 'casino'@'%' IDENTIFIED BY 'dMlrZs9uVdIAXBsV';

GRANT ALL PRIVILEGES ON . TO 'bet'@'%';

GRANT ALL PRIVILEGES ON . TO 'casino'@'%';

FLUSH PRIVILEGES;

  1. 检查 MySQL 配置
    MySQL 默认可能只允许本地连接,需要修改配置以支持远程连接。

修改 mysqld.cnf

找到并编辑 MySQL 的配置文件(通常在 /etc/mysql/mysql.conf.d/mysqld.cnf):

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

确保以下设置:

[mysqld]

bind-address = 0.0.0.0

解释:

bind-address=0.0.0.0 允许 MySQL 监听所有网络接口。

如果设置为 127.0.0.1,MySQL 只会接受本地连接。

保存文件后,重启 MySQL 服务:

sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

sudo systemctl restart mysql

相关推荐
清水加冰2 小时前
【MySQL】索引
数据库·mysql
Ciderw3 小时前
MySQL日志undo log、redo log和binlog详解
数据库·c++·redis·后端·mysql·面试·golang
~Yogi4 小时前
新版Tomcat MySQL IDEA 安装配置过程遇到的问题
mysql·tomcat·intellij-idea
隔壁老王1564 小时前
tidb实时同步到mysql
数据库·mysql·tidb
听封5 小时前
✨ 索引有哪些缺点以及具体有哪些索引类型
数据库·mysql
ChinaRainbowSea5 小时前
1. Linux下 MySQL 的详细安装与使用
linux·数据库·sql·mysql·adb
致奋斗的我们5 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
小林熬夜学编程6 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
风月歌6 小时前
基于springboot校园健康系统的设计与实现(源码+文档)
java·spring boot·后端·mysql·毕业设计·mybatis·源码
MYF_127 小时前
window安装MySQL5.7
mysql