MySQL 8.0 安装与配置技术文档(Ubuntu22.04)

MySQL 8.0 安装与配置技术文档


目录
  1. 环境准备
  2. [下载 MySQL 安装包](#下载 MySQL 安装包)
  3. [检查是否已安装 MySQL](#检查是否已安装 MySQL)
  4. [彻底卸载 MySQL](#彻底卸载 MySQL)
  5. [安装 MySQL](#安装 MySQL)
  6. [配置 MySQL](#配置 MySQL)
  7. 创建用户并允许外网访问
  8. [修改 root 用户密码](#修改 root 用户密码)
  9. 参考链接

1. 环境准备

确保系统为 Ubuntu 22.04,并安装了以下基础工具:

bash 复制代码
sudo apt-get update
sudo apt-get install wget tar dpkg

2. 下载 MySQL 安装包

从官网获取安装包:

下载并解压:

bash 复制代码
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-server_8.0.40-1ubuntu22.04_amd64.deb-bundle.tar
mkdir -p ~/mysql-deb
tar -xvf mysql-server_8.0.40-1ubuntu22.04_amd64.deb-bundle.tar -C ~/mysql-deb
cd ~/mysql-deb

3. 检查是否已安装 MySQL

检查系统是否存在 MySQL:

bash 复制代码
dpkg -l | grep mysql
ps -ef | grep mysql
ls /etc/mysql
ls /var/lib/mysql

4. 彻底卸载 MySQL

如果已安装 MySQL,可以按以下步骤卸载:

  1. 停止 MySQL 服务:

    bash 复制代码
    sudo systemctl stop mysql
  2. 卸载所有相关包:

    bash 复制代码
    sudo dpkg --purge mysql-server mysql-client mysql-common mysql-community-server
    sudo apt-get autoremove --purge
  3. 清理残余文件:

    bash 复制代码
    sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql /var/run/mysqld
  4. 再次确认卸载完成:

    bash 复制代码
    dpkg -l | grep mysql

5. 安装 MySQL

安装步骤:

bash 复制代码
sudo dpkg -i mysql-common_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i libmysqlclient21_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-client-core_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-client_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-client_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server-core_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server_8.0.40-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-server_8.0.40-1ubuntu22.04_amd64.deb

6. 配置 MySQL

编辑 MySQL 配置文件:

bash 复制代码
sudo nano /etc/mysql/my.cnf

添加以下内容,优化网络连接:

ini 复制代码
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
skip-name-resolve

保存后重启 MySQL:

bash 复制代码
sudo systemctl restart mysql

7. 创建用户并允许外网访问

进入 MySQL 控制台:

bash 复制代码
mysql -u root -p

运行以下命令:

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8. 修改 root 用户密码

在 MySQL 控制台中,运行以下命令:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

如果忘记密码,可按以下步骤重置:

  1. 停止 MySQL:

    bash 复制代码
    sudo systemctl stop mysql
  2. 以跳过权限表模式启动:

    bash 复制代码
    sudo mysqld_safe --skip-grant-tables &
  3. 登录 MySQL:

    bash 复制代码
    mysql -u root
  4. 重置密码:

    sql 复制代码
    UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE User = 'root';
    FLUSH PRIVILEGES;
  5. 重启 MySQL:

    bash 复制代码
    sudo systemctl start mysql

9. 参考链接


相关推荐
AI_567814 小时前
SQL性能优化全景指南:从量子执行计划到自适应索引的终极实践
数据库·人工智能·学习·adb
穿过锁扣的风15 小时前
从数据操作到表结构管理:MySQL Shell 与 SQL 核心操作全解析
adb
·云扬·3 天前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
天马37983 天前
MySql9 免安装版_配置和启动_MySql9安装
adb·mysql9 免安装版·mysql9安装
·云扬·3 天前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb
darling3314 天前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
Remember_9934 天前
MySQL 索引详解:从原理到实战优化
java·数据库·mysql·spring·http·adb·面试
多多*4 天前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
数据蜂巢5 天前
MySQL 8.0 生产环境备份脚本 (Percona XtraBackup 8.0+)
android·mysql·adb
vistaup6 天前
通过ADB 触发gc
adb