【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

SQL Server(2022)安装及使用

SQL Server(2022)安装及使用

一、安装SQL Server 1.到微软官网下载SQL Server Developer版本,现在的最新版本是SQL Server 2022 Developer。 SQL Server 下载 | Microsoft 2.下载完成之后,在文件夹中找到刚才下载的文件,双击打开,打开之后的界面如下图所示。 3.我们选择自定义安装,之后再选择要安装的位置,再点击安装,如下图所示 4.点了安装之后会出现如下图所示的界面,我们需要等待它下载安装包,此过程等待的时间可能较长 5.安装包下载并提取完成之后,会出现下图所示的界面 6.依次点击安装、全新SQL Server独立安装或向现有安装添加功能,如下图所示 7.出现如下图所示的界面,不用管密钥,点击下一步 8.再点击我接受许可条款,点击下一步,之后新出现的窗口会让你选择是否检查更新,大家可以根据自己的需要选择,默认是不检查更新,再点击下一步,这时会显示正在检查更新,如下图所示,

By Ne0inhk
SpringAOP详解(二)

SpringAOP详解(二)

一、代理模式的核心概念 1. 定义 为目标对象提供 “代理类”,让调用方不直接访问目标对象,而是通过代理类间接访问,从而在代理类中实现功能增强(比如日志、权限校验)。 2. 核心角色(以 “房屋租赁” 为例) 角色对应示例作用说明SubjectHouseSubject接口定义目标对象和代理类的共同行为(比如 “租房”)RealSubjectRealHouseSubject(房东)目标对象(被代理的实际业务执行者)ProxyHouseProxy(中介)代理类,包装目标对象,在调用目标方法前后添加增强逻辑 静态代理的实现步骤(以房屋租赁为例) 1. 定义共同接口(Subject) 2. 实现目标对象(RealSubject) 3. 实现代理类(Proxy) 4. 使用代理 静态代理的核心特点 * 提前创建:代理类的.class文件在程序运行前就已存在(比如HouseProxy是提前写好的); * 功能增强:不修改目标对象代码,通过代理类实现 “附加逻辑”

By Ne0inhk
openclaw 对接完飞书群机器人配置踩坑记:消息不回、Gateway 断开问题排查

openclaw 对接完飞书群机器人配置踩坑记:消息不回、Gateway 断开问题排查

前言 用 OpenClaw 配飞书机器人,踩了两个坑:群消息不回、Gateway 总是断开。排查了好一阵子,总算搞定了,记录一下希望能帮到遇到同样问题的朋友。 发现问题 飞书消息不回复 在飞书群里 @ 了机器人,完全没反应。一开始以为是网络不好或者机器人没上线,但状态显示明明是连接着的,这就奇怪了。 Gateway 频繁断开 每次改完配置跑 openclaw gateway restart,或者根本什么都没干,Gateway 说断就断。再想启动就报错,必须跑一遍 openclaw doctor --fix 重新安装才能用。太影响使用了。 查看原因 飞书机器人 ID 搞错了 翻日志看到这么一句: receive events or callbacks through persistent connection only available in

By Ne0inhk
Flask工厂模式与蓝图设计:构建可扩展大型应用的架构之道

Flask工厂模式与蓝图设计:构建可扩展大型应用的架构之道

目录 📖 摘要 🏗️ 第一章:为什么需要工厂模式? 1.1 从单体应用到模块化架构 1.2 工厂模式的诞生 1.3 性能提升数据 🔧 第二章:Flask应用工厂深度解析 2.1 基础工厂实现 2.2 配置管理 2.3 扩展初始化顺序 🧩 第三章:蓝图模块化架构 3.1 蓝图基础 3.2 企业级蓝图结构 3.3 蓝图间通信 🚀 第四章:完整电商平台实战 4.1 项目结构 4.2 应用工厂完整实现 4.3 数据模型设计 4.4 测试策略 🚀 第五章:

By Ne0inhk