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. 选择密码验证策略(推荐0或1,0为低强度,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二进制日志定时备份
adb
class心平气和1 小时前
ADB 工具函数 Python 使用教程
开发语言·python·adb
程序员塔塔喵3 小时前
【MySQL篇|第八篇】索引底层实现
数据库·mysql·adb·索引
pigdreams1 天前
Google 官方 Android CLI:让AI直接读布局结构而不是用adb截图验证
android·人工智能·adb
ha_lydms2 天前
AnalyticDB MySQL 技术架构
大数据·hadoop·mysql·adb·spark·dataworks·1024程序员节
2501_915106323 天前
跨平台抓包工具怎么选?TraceEagle抓包鹰 的四种跨平台能力
网络协议·计算机网络·网络安全·ios·adb·https·udp
梅孔立3 天前
.mdb Access_MDB历史数据文件迁移MySQL实战教程-可直接投喂给ai参考这个帮你完成迁移
数据库·mysql·adb
花间相见3 天前
【计算基础|MySQL13】【工程实战】事务隔离与 MVCC 现象复现
adb
吹什么轩4 天前
MySQL:数据类型
android·adb
深度学习04074 天前
MySQL InnoDB Cluster 部署完整文档
android·mysql·adb