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 服务器。

相关推荐
独行soc13 小时前
2025年渗透测试面试题总结-106(题目+回答)
网络·python·安全·web安全·adb·渗透测试·安全狮
撩得Android一次心动17 小时前
Android adb 基础使用指南
android·adb
xiyangyang811017 小时前
ubantu的adb命令(首次安装adb)
adb
此生只爱蛋1 天前
mysql_store_result
android·adb
川石课堂软件测试2 天前
全链路Controller压测负载均衡
android·运维·开发语言·python·mysql·adb·负载均衡
独行soc2 天前
2025年渗透测试面试题总结-105(题目+回答)
网络·python·安全·web安全·adb·渗透测试·安全狮
九皇叔叔3 天前
Docker 镜像维护指南:从配置优化到 MySQL 实战运行
mysql·adb·docker
muxin-始终如一3 天前
MySQL分区分表实现方法详解
数据库·mysql·adb
2501_929382653 天前
电视盒子助手开心电视助手 v8.0 删除电视内置软件 电视远程控制ADB去除电视广告
android·windows·adb·开源软件·电视盒子