Ubuntu - 安装 MySQL 8

以下是在 Ubuntu 上安装 MySQL 8 的完整步骤:

步骤 1:更新包列表

首先,打开终端并执行以下命令来确保包列表是最新的:

sudo apt update

步骤 2:安装 MySQL 8 服务器

接下来,使用以下命令安装 MySQL 8 服务器:

sudo apt install mysql-server

步骤 3:启动 MySQL 服务

安装完成后,启动 MySQL 服务并设置它在系统启动时自动启动:

sudo systemctl start mysql

sudo systemctl enable mysql

步骤 4:运行 MySQL 安全性脚本

为了提高安全性,运行 MySQL 安全性脚本:

sudo mysql_secure_installation

在执行此命令时,进行以下操作:

  • 删除匿名用户
  • 禁用远程 root 登录
  • 删除测试数据库
  • 刷新权限表

按照提示选择相应的选项并进行配置。

步骤 5:登录到 MySQL

使用以下命令登录到 MySQL 数据库服务器:

mysql -u root -p

步骤6.1:获取 root 密码

在某些情况下,MySQL 8 的安装过程不会要求在终端中直接设置 root 用户密码,而是使用随机生成的密码。这种情况下,系统会将生成的随机密码保存在一个日志文件中,需要查看该密码并保存下来。

通常,MySQL 8 的随机密码保存在 /var/log/mysql/error.log 文件中。可以使用以下命令来查看该文件:

sudo cat /var/log/mysql/error.log

在日志中,搜索关键词 temporary password,随后会显示生成的随机密码。将该密码复制并保存在安全的地方。

然后,需要使用该密码登录到 MySQL 并更改密码。使用以下命令登录:

sudo mysql -u root -p

然后输入生成的随机密码。接下来,执行以下 SQL 命令来更改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '新密码';

'新密码' 替换为您要设置的新密码。然后,使用以下命令刷新权限并退出 MySQL:

FLUSH PRIVILEGES; EXIT;

步骤6.2:直接修改密码

如果懒得去找密码,可以手动重置 root 密码。首先,停止 MySQL 服务:

sudo systemctl stop mysql

然后,以跳过权限验证模式启动 MySQL:

sudo mysqld_safe --skip-grant-tables &

接下来,启动并登录到 MySQL:
sudo systemctl start mysql
mysql -u root

在 MySQL 命令行中,使用以下命令来更改 root 用户的密码(将 '123321' 替换为要设置的新密码):

UPDATE mysql.user SET authentication_string = PASSWORD('123321'), plugin = 'mysql_native_password' WHERE User = 'root'; FLUSH PRIVILEGES; EXIT;

最后,停止 MySQL:

sudo pkill mysqld

然后,重启 MySQL 服务:

sudo systemctl start mysql

相关推荐
q_191328469520 分钟前
基于SpringBoot2+Vue2的诗词文化传播平台
vue.js·spring boot·mysql·程序员·计算机毕业设计
为什么不问问神奇的海螺呢丶39 分钟前
服务器巡检报告-基于categraf 采集数据-存入Prometheus-写入mysql后生成报告
服务器·mysql·prometheus
叮咚侠1 小时前
Ubuntu 24.04.3 LTS 中 vdb 的 UUID 永久挂载没有显示的磁盘的操作步骤
linux·运维·ubuntu·挂载磁盘
HIT_Weston1 小时前
67、【Ubuntu】【Hugo】搭建私人博客(一)
前端·ubuntu·hugo
.小墨迹1 小时前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
风华同学1 小时前
【Linux驱动篇】LED驱动开发实验
linux·驱动开发·ubuntu
秋氘渔2 小时前
智演沙盘 —— 基于大模型的智能面试评估系统
python·mysql·django·drf
计算机毕设指导62 小时前
基于微信小程序的鸟博士系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
断春风2 小时前
如何避免 MySQL 死锁?——从原理到实战的系统性解决方案
数据库·mysql
玉成2263 小时前
MySQL两表之间数据迁移由于字段排序规则设置的不一样导致失败
数据库·mysql