Ubantu安装MySQL8.0

目录

更新系统包

[安装 MySQL 8.0](#安装 MySQL 8.0)

初始化安全配置

如果手滑没有设置到root用户密码:

验证安装

配置远程访问


更新系统包

打开终端,执行以下命令更新系统软件包列表并升级现有包:

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

安装 MySQL 8.0

①Ubuntu 24.04(20.04以上均是) 的默认软件源中已包含 MySQL 8.0,直接通过apt安装即可:

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

②安装完成后,MySQL 服务会自动启动,可通过以下命令检查状态:

复制代码
sudo systemctl status mysql

若显示active (running),则表示服务已正常运行。

初始化安全配置

①MySQL 提供了安全配置脚本,用于设置 root 密码、禁用匿名用户、限制 root 远程登录等,执行以下命令:

复制代码
sudo mysql_secure_installation

②根据提示进行配置:

  1. 选择密码验证策略(推荐010为低强度,1为中强度)。
  2. 设置 root 用户密码(需符合所选策略)。
  3. 依次输入Y确认以下选项:
    • 移除匿名用户
    • 禁止 root 远程登录
    • 删除测试数据库
    • 重新加载权限表

#密码策略解释

0(LOW):仅密码长度至少 8 位,无复杂度要求(可以纯数字、纯字母)。

1(MEDIUM,推荐):密码长度至少 8 位,且必须包含 数字、大写字母、小写字母、特殊符号(如!@#$ 等) 中的至少 3 种。

2(STRONG):在 MEDIUM 基础上,还需满足密码不能包含常见词典词(如 password、123456 等),限制更严格。

如果手滑没有设置到root用户密码

如果设置密码时直接回车了,而没有设置到root用户密码:

①登录 MySQL(此时可能无需密码,或使用之前的空密码):

复制代码
sudo mysql -u root -p

②若提示输入密码,直接回车(空密码)尝试登录。

复制代码
#切换到系统数据库

USE mysql; 

③设置 root 密码(替换 '你的新密码' 为实际密码,需符合策略)

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';

④刷新权限

复制代码
FLUSH PRIVILEGES;

⑤退出

复制代码
exit; 

验证安装

通过以下命令登录 MySQL 控制台,验证安装是否成功:

复制代码
sudo mysql -u root -p

输入步骤 3 中设置的 root 密码,若成功进入mysql>命令行,则表示安装完成。

配置远程访问

若需要远程连接 MySQL(默认仅允许本地访问),需修改配置:

①编辑 MySQL 配置文件:

复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

②找到bind-address = 127.0.0.1,将其注释(在前面加#)或改为0.0.0.0(允许所有 IP 访问):

复制代码
# bind-address = 127.0.0.1

③​保存并退出;

④登录 MySQL,授权 root 用户远程访问(替换your_password为实际密码):

复制代码
-- 创建允许所有主机访问的 root 用户(密码替换为你要设置的密码)
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
-- 授予所有权限(生产环境建议按需限制权限,比如只给特定数据库权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 刷新权限使配置生效
FLUSH PRIVILEGES; 

⑤重启 MySQL 服务使配置生效:

复制代码
sudo systemctl restart mysql

可检查:

User: root:指的是 MySQL 中的用户名是 root(超级管理员用户,拥有最高权限)。

Host: %:% 是 MySQL 中的通配符,表示 "所有主机" 或 "任意 IP 地址"。

意思是:允许用户名 root 从任何远程主机(包括本地服务器、同一局域网的其他电脑、甚至互联网中的设备,只要网络可达)连接到当前 MySQL 服务器。

相关推荐
技术净胜17 小时前
MySQL 8.0 超详细保姆级官方版下载安装完整教程步骤(含环境配置+安装包下载)
数据库·mysql·adb
fatiaozhang95271 天前
万能通刷包_非高安版_海思MV300H/MV310_原机安卓4升级安卓9_全分区烧录包支持多无线及遥控_带adb权限(2026)
android·adb·电视盒子·刷机固件·机顶盒刷机·海思安卓4升级安卓9
·云扬·2 天前
MySQL单机多实例部署两种实用方法详解
数据库·mysql·adb
墨瑾轩2 天前
MySQL索引创建不锁表:90%的DBA都踩过的3个坑!
mysql·adb·dba
kabcko2 天前
CentOS安装Mysql
mysql·adb·centos
Antoine-zxt2 天前
MySQL宕机日志迷局破解指南:从前台启动到精准排错
数据库·mysql·adb
大海绵啤酒肚2 天前
WordPress部署新玩法:利用NFS存储在Kubernetes中实现数据持久化
adb·容器·kubernetes
wadesir2 天前
Linux MySQL Sysbench一键部署与压测实战教程
linux·mysql·adb
Rainman博2 天前
修改adb shell下$前的提示名称
adb
oMcLin3 天前
如何在 RHEL 8 系统上实现高可用 MySQL 集群,保障电商平台的 24 小时稳定运行
android·mysql·adb