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

【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. 先确认你是普通用户(不是 root),但拥有 sudo 权限(大多数云服务器默认如此)。

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

your_username@your-server:~$ 

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

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

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

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

sudo systemctl stop mariadb mysql 2>/dev/null 
💡 如果看到 Failed to stop... 也没关系,说明没装。

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

dpkg -l |grep -E 'mariadb|mysql'

✅ 如果没有任何输出 → 说明干净,跳到第三步。
❌ 如果有输出(例如 mariadb-servermysql-common 等)→ 继续下面操作。

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

sudoapt remove --purge mariadb* mysql* -y sudorm -rf /etc/mysql /var/lib/mysql sudoapt autoremove -y sudoapt autoclean 
🛑 重要提醒/var/lib/mysql 是数据库文件存放目录,删除后所有数据不可恢复!确保你不需要旧数据。

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

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

1. 下载官方 APT 配置包

在终端中执行:

cd /tmp wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb 
✅ 成功时你会看到类似:

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

sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb 
🖼️ 你会看到一个蓝色界面(文本图形界面):
  • 使用 方向键 ↑↓ 移动光标
  • 确保第一项是:mysql-8.0(如果不是,按空格切换)
  • 其他选项(如 Workbench、Connector)不要选(按空格取消勾选)
  • Tab 键 移动到 <OK>,再按 回车
✅ 正确配置后,系统就知道要去 MySQL 官网下载 8.0 版本了。

3. 更新软件包列表

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

📦 第四步:安装 MySQL Server

在终端中执行:

sudoaptinstall 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. 检查服务状态

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. 尝试无密码登录(关键步骤!)

sudo mysql 

✅ 如果成功,你会看到:

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

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

mysql>EXIT;

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

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

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

sudo mysql 

你现在应该看到:

mysql>

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

💡 注意:每条 SQL 语句必须以分号 ; 结尾
-- 第1条:关闭密码强度策略(允许简单密码)SETGLOBAL validate_password.policy = LOW;

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

-- 第2条:设置最小密码长度为4位SETGLOBAL validate_password.length =4;

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

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

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

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

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

-- 第5条:退出 MySQLEXIT;
🟢 现在你回到了 Linux 终端提示符(如 your_name@server:~$

🔑 第七步:测试密码登录

在终端中输入:

mysql -u root -p 

系统会提示:

Enter password: 

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

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

再次输入 EXIT; 退出。

💡 现在你可以用 DBeaver、Navicat、DataGrip 等工具,用以下信息连接:Host: 你的服务器 IPPort: 3306User: rootPassword: 123456

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

1. 编辑 MySQL 配置文件

在终端中执行:

sudonano /etc/mysql/mysql.conf.d/mysqld.cnf 

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

它看起来像这样:

[mysqld] # # * Basic Settings # user = mysql ... 

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

character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 
✅ 最终效果:

4. 保存并退出 nano

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

5. 重启 MySQL 使配置生效

sudo systemctl restart mysql 

6. 验证编码是否生效

mysql -u root -p # 输入密码 123456

mysql> 中输入:

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 

解决方法

# 下载并信任 MySQL 官方密钥sudoaptinstall -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 sudoapt update 

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


❌ 问题2:无法输入中文

  1. 重新连接 SSH

如果不是,设置:

sudo locale-gen en_US.UTF-8 sudo update-locale LANG=en_US.UTF-8 

检查系统编码:

locale 

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


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

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

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

Read more

低代码开发困局怎么破?,资深架构师亲授PHP流程设计避坑法则

第一章:低代码开发困局怎么破? 低代码平台在提升开发效率、降低技术门槛方面展现出巨大潜力,但随着应用场景深入,其局限性也逐渐暴露:逻辑复杂度受限、系统集成困难、性能瓶颈频现。要突破这些困局,需从架构设计与平台能力两个维度协同发力。 重新定义开发边界 低代码不应完全替代传统编码,而应作为“加速器”聚焦于高频、标准化场景。对于核心业务逻辑或高并发模块,保留代码开发空间至关重要。现代低代码平台应支持混合开发模式,允许开发者在可视化流程中嵌入自定义代码片段。 例如,在处理复杂数据校验时,可通过 JavaScript 扩展实现: // 自定义表单验证逻辑 function validateOrder(data) { if (data.amount <= 0) { throw new Error("订单金额必须大于零"); } if (!/^\d{11}$/.test(data.phone)) { throw new Error(

By Ne0inhk

宇树机器人g1二次开发:建图,定位,导航手把手教程(二)建图部分:开始一直到打开rviz教程

注意: 本教程为ros1,需要ubuntu20.04,使用算法为fase_lio 本教程为遵循的网上开源项目:https://github.com/deepglint/FAST_LIO_LOCALIZATION_HUMANOID.git 一、系统环境准备 1.1. 安装必要的依赖库 # 安装C++标准库 sudo apt install libc++-dev libc++abi-dev # 安装Eigen3线性代数库 sudo apt-get install libeigen3-dev 库说明: * libc++-dev:C++标准库开发文件 * libeigen3-dev:线性代数库,用于矩阵运算和几何变换 * 这些是编译FAST-LIO和Open3D必需的数学和系统库 二、创建工作空间和准备 2.1. 创建定位工作空间 mkdir

By Ne0inhk
积木报表快速入门指南:零基础轻松上手数据可视化【低代码报表设计器】

积木报表快速入门指南:零基础轻松上手数据可视化【低代码报表设计器】

文章目录 * 前言 * 一、积木报表简介 * 二、环境准备 * 1. 下载积木报表 * 2. 运行环境要求 * 3. 快速启动(以Docker方式为例) * 三、第一个报表创建实战 * 1. 登录系统 * 2. 选择数据源 * 3. 设计报表 * 四、进阶功能快速上手 * 1. 图表集成 * 2. 参数传递 * 3. 分组与汇总 * 4. 导出与打印 * 五、实用技巧与最佳实践 * 1. 性能优化: * 2. 模板复用: * 3. 移动端适配: * 4. 定时任务: * 六、常见问题解答 * Q1:积木报表支持哪些数据库? * Q2:如何实现复杂的中国式报表? * Q3:能否集成到自己的系统中? * Q4:

By Ne0inhk
零代码上手!用 Rokid 灵珠平台,5 步搭建专属旅游 AR 智能体

零代码上手!用 Rokid 灵珠平台,5 步搭建专属旅游 AR 智能体

零代码上手!用 Rokid 灵珠平台,5 步搭建专属旅游 AR 智能体 灵珠平台简介 okid 自研 AI 开发平台,基于多模态大模型与轻量化架构,打造零门槛、全栈化 AI 开发体系。平台提供可视化编排、预置能力组件,支持原型到云端、端侧一站式敏捷部署,并深度适配 Rokid Glasses 智能眼镜,通过专属硬件接口与低功耗优化,实现 AI 应用高效端侧落地,助力开发者快速打造视觉识别、语音交互等穿戴式 AI 应用,拓展 AI + 物理世界的交互边界可视化编排工具,拖拽式快速搭建应用预置丰富能力组件库,涵盖对话引擎、视觉识别等核心模块支持从原型设计到云端、端侧的一站式敏捷部署提供设备专属适配接口,实现硬件深度协同搭载低功耗运行优化方案,保障端侧持久稳定运行 实战:搭建旅游类AR智能体 1、进入灵珠平台 登录灵珠平台后,你将看到简洁直观的工作台界面 点击创建智能体按钮,

By Ne0inhk