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. 参考链接


相关推荐
星环处相逢2 小时前
MySQL主从复制与读写分离深度解析及实战
adb
musk12126 小时前
ADB 常用命令总结(内容由 AI 生成)
adb
Yyyy4827 小时前
K8s 部署 MySQL 主从复制集群
adb
翔云1234568 小时前
服务器异常崩溃,GTID 是否会出现在 mysql.gtid_executed 表但不在 binlog 中
服务器·mysql·adb
海上飞猪8 小时前
【Mysql】Mysql的安装部署和使用
android·mysql·adb
翔云1234561 天前
mysql.gtid_executed 表的初始化和更新机制
数据库·mysql·adb
头发那是一根不剩了1 天前
MySQL 启动、连接问题汇总
数据库·mysql·adb
dyxal2 天前
Windows 内网环境离线安装 MySQL 完整指南
windows·mysql·adb
我的offer在哪里2 天前
mysql的底层文件分析
数据库·mysql·adb
我的offer在哪里2 天前
如何查看和修改 MySQL 底层文件(分「查看」「修改」维度,严格区分安全 / 危险操作)
mysql·安全·adb