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

相关推荐
生活很暖很治愈13 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
Roc.Chang38 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
Anesthesia丶1 小时前
Ubuntu20.04 升级 Ubuntu24.04 LTS
ubuntu
·云扬·3 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
符哥20084 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql
筵陌4 小时前
MySQL索引及其底层原理(上)
mysql
陌上花开缓缓归以5 小时前
linux mtd-utils使用源码分析(ubuntu测试版)
linux·arm开发·ubuntu
怣505 小时前
MySQL子查询零基础入门教程:从小白到上手(零基础入门版)
数据库·mysql
猫头虎6 小时前
基于信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
数据库·redis·sql·mysql·开源·nosql·database
Nandeska6 小时前
17、MySQL InnoDB ReplicaSet
数据库·mysql