Ubuntu24.04.4安装mysql8.0.46

### 准备

Ubuntu 每个发行版源内软件版本是锁定固定的:

Ubuntu 22.04:mysql-server = MySQL 8.0

Ubuntu 24.04:mysql-server = MySQL 8.0

查看将要安装的版本:

apt show mysql-server

###安装

sudo apt update && sudo apt upgrade -y

sudo apt install mysql-server -y

安装完成后 MySQL 会自动开机自启,并默认运行。

查看服务状态:sudo systemctl status mysql

启停命令:

sudo systemctl start mysql

sudo systemctl stop mysql

sudo systemctl restart mysql

安全初始化(必做,加固数据库):

sudo mysql_secure_installation

分步交互说明:

1.VALIDATE PASSWORD COMPONENT 密码强度校验,选 n 不开启(自用推荐),y 开启严格密码规则

2.设置 root 密码,重复输入两次

3.Remove anonymous users? → y 删除匿名账号

4.Disallow root login remotely? → y 禁止 root 远程登录

5.Remove test database and access to it? → y 删除测试库

6.Reload privilege tables now? → y 刷新权限

###修改密码

本地登录 MySQL-Ubuntu MySQL8 默认使用 auth_socket 插件认证,不用密码直接 sudo 登录:sudo mysql

修改 root 登录方式(支持密码登录):

1.进入 mysql 命令行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';

FLUSH PRIVILEGES;

exit;

2.现在可用密码登录:mysql -u root -p

###配置远程访问(允许外部工具连接)

  1. 修改配置文件允许监听所有 IP

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address = 127.0.0.1,修改为:

bind-address = 0.0.0.0

mysql8.0新增

mysqlx-bind-address = 0.0.0.0

  1. 创建远程访问账号(不要直接开放 root 远程)

登录 mysql:mysql -u root -p

执行 SQL(newuser用户名,123456密码,%代表任意 IP):

CREATE USER 'newuser'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

授予全部权限

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

FLUSH PRIVILEGES;

exit;

  1. 放行防火墙 3306 端口

开启ufw防火墙(没开可跳过)

sudo ufw allow 3306/tcp

sudo ufw reload

  1. 重启 MySQL 生效

sudo systemctl restart mysql

###卸载 MySQL8

sudo apt remove mysql-server mysql-client -y

sudo apt autoremove -y

彻底删除配置+数据(谨慎,会清空所有数据库)

sudo rm -rf /etc/mysql /var/lib/mysql

###常用基础操作

  1. 创建数据库

CREATE DATABASE db01 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

utf8mb4 完整支持 emoji,推荐默认字符集,不区分大小写、重音

  1. 查看 mysql 版本

mysql -V

或进入mysql执行

SELECT VERSION();

  1. 重置 root 密码(忘记密码时)

停止 mysql

sudo systemctl stop mysql

跳过权限启动

sudo mysqld_safe --skip-grant-tables &

新开终端登录,重置密码

mysql -u root

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

exit;

结束后台进程,重启服务

sudo pkill mysqld

sudo systemctl start mysql

相关推荐
雨声不在5 小时前
USB 网络共享 + adb 无权限问题排查
adb
王琦031816 小时前
第二章 MySQL集群高可用架构
mysql·adb·架构
深念Y18 小时前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
小Ti客栈2 天前
MySQL查询原理:从Server到InnoDB
android·mysql·adb
深念Y2 天前
老Flyme 官方 root 开启 ADB TCP 方案
linux·数据库·网络协议·tcp/ip·adb·智能手机·emmc
00后程序员张2 天前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
OceanWaves19933 天前
mysql 5.7.29 主从同步配置
数据库·mysql·adb
九皇叔叔3 天前
RHEL9 安装 MySQL 8.4.11.LTS 版本
android·mysql·adb
灵析表格3 天前
Excel连接MySQL的函数化革命:灵析表格MySQL函数族业务应用分析
数据库·mysql·adb·excel·wps·灵析表格·excel公式盒子
王琦03183 天前
mysql基础
android·mysql·adb