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

相关推荐
xrandzj6 小时前
MySQL8.0 从零通关核心操作手册(Ubuntu实战版)
数据库·mysql
我不会插花弄玉6 小时前
4.数据类型【由浅入深-MySQL】
数据库·mysql
好好学习的星熊9 小时前
SQL 面试题(数据分析师)
sql·mysql
破土士V9 小时前
MySQL基础知识集合
数据库·mysql
360智汇云10 小时前
MySQL-DTS数据同步工具:告别手动拼方案,迁移同步一站完成
数据库·mysql
宠友信息12 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
明王明王12 小时前
Ubuntu 26.04 使用 Windows Spotlight:给 Bing Wallpaper 加上 Spotlight 支持
linux·windows·ubuntu
江湖有缘13 小时前
Docker开源项目: 基于Ubuntu系统部署ExpenseOwl自托管记账工具实战教程
ubuntu·docker·开源
一直C13 小时前
【数据结构】哈希表+算法复杂度与经典排序查找(C语言)
java·linux·开发语言·数据结构·算法·ubuntu·散列表
λqaq714 小时前
MySQL 数据库基础(2)约束、用户权限、远程连接、外键与 TCP/UDP 理解
linux·数据库·python·tcp/ip·mysql