【MySQL基础】(1):MySQL的安装

✅ 适用人群:刚接触 Linux 和数据库的新手

✅ 目标:快速装好 MySQL,用 root 用户练习 SQL,无需复杂权限配置

✅ 系统要求:Ubuntu 20.04 / 22.04 / 24.04 LTS(阿里云、腾讯云、AWS EC2 等均可)


🔧 第一步:登录你的云服务器

  1. 使用 SSH 工具(如 Xshell、FinalShell、或 macOS/Linux 的终端)连接到你的 Ubuntu 服务器。

  2. 登录后,你会看到类似这样的提示符:

    bash 复制代码
    your_username@your-server:~$
  3. 先确认你是普通用户(不是 root),但拥有 sudo 权限(大多数云服务器默认如此)。


🧹 第二步:彻底清理旧数据库(防止冲突)

⚠️ 即使你是新服务器,也建议执行这一步,避免隐藏的 MariaDB 干扰。

1. 停止可能运行的数据库服务

在终端中逐行输入以下命令(每输一行按一次回车):

bash 复制代码
sudo systemctl stop mariadb mysql 2>/dev/null

💡 如果看到 Failed to stop... 也没关系,说明没装。

2. 查看是否安装了 MariaDB 或旧版 MySQL

bash 复制代码
dpkg -l | grep -E 'mariadb|mysql'

✅ 如果没有任何输出 → 说明干净,跳到第三步。

❌ 如果有输出(例如 mariadb-servermysql-common 等)→ 继续下面操作。

3. 彻底卸载旧包(会删除所有数据!)

bash 复制代码
sudo apt remove --purge mariadb* mysql* -y
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt autoremove -y
sudo apt autoclean

🛑 重要提醒/var/lib/mysql 是数据库文件存放目录,删除后所有数据不可恢复!确保你不需要旧数据。


🔌 第三步:添加 MySQL 官方 APT 源

Ubuntu 自带的 MySQL 版本可能较旧。我们使用 MySQL 官方源 安装最新稳定版(8.0)。

1. 下载官方 APT 配置包

在终端中执行:

bash 复制代码
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb

✅ 成功时你会看到类似:

复制代码
2026-01-28 20:15:01 (1.2 MB/s) - 'mysql-apt-config_0.8.34-1_all.deb' saved [23456/23456]

2. 安装这个配置包(会弹出图形菜单)

bash 复制代码
sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb
🖼️ 你会看到一个蓝色界面(文本图形界面):
  • 使用 方向键 ↑↓ 移动光标
  • 确保第一项是:mysql-8.0(如果不是,按空格切换)
  • 其他选项(如 Workbench、Connector)不要选(按空格取消勾选)
  • Tab 键 移动到 <OK>,再按 回车

✅ 正确配置后,系统就知道要去 MySQL 官网下载 8.0 版本了。

3. 更新软件包列表

bash 复制代码
sudo apt update

💡 如果看到 NO_PUBKEY 警告,先忽略(后面会解决)。


📦 第四步:安装 MySQL Server

在终端中执行:

bash 复制代码
sudo apt install mysql-server -y

🕒 安装过程(约 1--3 分钟):

你会看到类似输出:

复制代码
Setting up mysql-server-8.0 (8.0.xx-1ubuntu22.04) ...
...
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.

✅ 安装完成后,MySQL 服务自动启动 ,但不会让你设置密码


▶️ 第五步:验证 MySQL 是否运行

1. 检查服务状态

bash 复制代码
sudo systemctl status mysql

✅ 成功标志:看到绿色的 active (running),例如:

复制代码
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled)
     Active: active (running) since Wed 2026-01-28 20:20:00 UTC; 10s ago

2. 尝试无密码登录(关键步骤!)

bash 复制代码
sudo mysql

✅ 如果成功,你会看到:

sql 复制代码
Welcome to the MySQL monitor...
mysql>

🎯 这个 mysql> 提示符表示:你已进入 MySQL 数据库内部!接下来的所有命令都在这里输入。

输入 EXIT; 退出回到 Linux 终端:

sql 复制代码
mysql> EXIT;

🔐 第六步:设置 root 密码(让 GUI 工具能连接)

📌 重点:以下所有 SQL 命令必须在 mysql> 提示符下输入

1. 再次进入 MySQL(无密码方式)

bash 复制代码
sudo mysql

你现在应该看到:

sql 复制代码
mysql>

2. 依次输入以下命令(每行输完按回车)

💡 注意:每条 SQL 语句必须以分号 ; 结尾

sql 复制代码
-- 第1条:关闭密码强度策略(允许简单密码)
SET GLOBAL validate_password.policy = LOW;

✅ 成功输出:Query OK, 0 rows affected (0.00 sec)

sql 复制代码
-- 第2条:设置最小密码长度为4位
SET GLOBAL validate_password.length = 4;

✅ 成功输出:Query OK, 0 rows affected (0.00 sec)

sql 复制代码
-- 第3条:修改 root@localhost 的密码为 123456,并改用传统密码认证
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

✅ 成功输出:Query OK, 0 rows affected (0.01 sec)

sql 复制代码
-- 第4条:刷新权限,使修改立即生效
FLUSH PRIVILEGES;

✅ 成功输出:Query OK, 0 rows affected (0.00 sec)

sql 复制代码
-- 第5条:退出 MySQL
EXIT;

🟢 现在你回到了 Linux 终端提示符(如 your_name@server:~$


🔑 第七步:测试密码登录

在终端中输入:

bash 复制代码
mysql -u root -p

系统会提示:

复制代码
Enter password:

👉 输入你刚设置的密码:123456(输入时不会显示字符,这是正常的安全设计)

✅ 如果看到 mysql>,说明密码登录成功!

再次输入 EXIT; 退出。

💡 现在你可以用 DBeaver、Navicat、DataGrip 等工具,用以下信息连接:

  • Host: 你的服务器 IP
  • Port: 3306
  • User: root
  • Password: 123456

🌐 第八步:配置 UTF-8 支持(解决中文乱码)

1. 编辑 MySQL 配置文件

在终端中执行:

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

2. 在文件中找到 [mysqld] 段落

它看起来像这样:

ini 复制代码
[mysqld]
#
# * Basic Settings
#
user            = mysql
...

3. 在 [mysqld] 段落下添加两行(用方向键移动光标,在合适位置按回车插入):

ini 复制代码
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

✅ 最终效果:

ini 复制代码
[mysqld]
user            = mysql
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
...

4. 保存并退出 nano

  • Ctrl + O → 屏幕底部提示"Write File"
  • Enter 确认文件名
  • Ctrl + X 退出编辑器

5. 重启 MySQL 使配置生效

bash 复制代码
sudo systemctl restart mysql

6. 验证编码是否生效

bash 复制代码
mysql -u root -p
# 输入密码 123456

mysql> 中输入:

sql 复制代码
SHOW VARIABLES LIKE 'character_set%';

✅ 正确结果:所有 character_set_* 的值都是 utf8mb4,例如:

复制代码
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
+--------------------------+----------------------------+

输入 EXIT; 退出。


🛠️ 第九步:常见问题解决

❌ 问题1:安装时出现 GPG 密钥错误

错误示例:

复制代码
NO_PUBKEY 467B942D3A79BD29

解决方法

bash 复制代码
# 下载并信任 MySQL 官方密钥
sudo apt install -y gnupg
wget -O /tmp/mysql-key https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mysql.gpg /tmp/mysql-key
sudo apt update

然后重新执行 sudo apt install mysql-server -y


❌ 问题2:无法输入中文

  1. 检查系统编码:

    bash 复制代码
    locale

    应包含 LANG=en_US.UTF-8zh_CN.UTF-8

  2. 如果不是,设置:

    bash 复制代码
    sudo locale-gen en_US.UTF-8
    sudo update-locale LANG=en_US.UTF-8
  3. 重新连接 SSH


❌ 问题3:忘记密码怎么办?

因为你是用 sudo mysql 无密码登录的,所以永远可以通过它重置密码(参考第六步)。

希望这篇教程能真正帮到你!如果有任何一步卡住,欢迎随时提问。祝你学习顺利!

相关推荐
Piar1231sdafa4 小时前
蓝莓目标检测——改进YOLO11-C2TSSA-DYT-Mona模型实现
人工智能·目标检测·计算机视觉
heartbeat..4 小时前
Redis 中的锁:核心实现、类型与最佳实践
java·数据库·redis·缓存·并发
Prince-Peng4 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
愚公搬代码4 小时前
【愚公系列】《AI短视频创作一本通》002-AI引爆短视频创作革命(短视频创作者必备的能力)
人工智能
虾说羊4 小时前
redis中的哨兵机制
数据库·redis·缓存
_F_y4 小时前
MySQL视图
数据库·mysql
数据猿视觉4 小时前
新品上市|奢音S5耳夹耳机:3.5g无感佩戴,178.8元全场景适配
人工智能
2301_790300964 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
蚁巡信息巡查系统4 小时前
网站信息发布再巡查机制怎么建立?
大数据·人工智能·数据挖掘·内容运营
AI浩4 小时前
C-RADIOv4(技术报告)
人工智能·目标检测