当前位置: 首页 > news >正文

【MySql】安装与使用实战(MySQL Community Server 9.7.0 LTS)

手把手带你完成 MySQL 在 Windows/Linux 下的安装配置,详解建库建表与增删改查实战,附带新手必踩的坑与解决方案,零基础速通!建议收藏备用。

目录

开篇痛点

一、MySQL 安装:双平台实战

1. 安装流程全景图

2. Windows 安装(保姆级)

3. Linux 安装(CentOS / Ubuntu)

二、配置调优:告别乱码与卡顿

三、使用实战:从建库到增删改查

1. 连接数据库

2. DDL:建库建表

3. DML:增删改查实战

4. 常用数据类型速查表

四、权限管理:开启远程连接

五、避坑指南(必读)

坑 1:忘记 root 密码

坑 2:连接报 2059 错误

坑 3:插入中文报错或乱码

结语


开篇痛点

刚学后端或数据分析,是不是一上来就被 MySQL 安装劝退?环境变量配错起不来?编码一通乱码?远程连接死活连不上?别慌,这篇帮你把坑全填平。今天从 0 到 1,带你拿下 MySQL 的安装配置与核心使用,看完这篇,少走一周弯路

一、MySQL 安装:双平台实战

1. 安装流程全景图

2. Windows 安装(保姆级)

https://dev.mysql.com/downloads/mysql/https://dev.mysql.com/downloads/mysql/

  1. 下载安装包:去 MySQL 官方归档 下载mysql-installer-community

  1. 选择安装类型:选择Server Only,一路 Next。


  1. 配置高亮

    ⚠️ 注意:在 “Authentication Method” 这一步,强烈建议选择 Use Legacy Authentication Method,否则很多旧版客户端连不上!

  2. 设置 root 密码:牢记你设的密码。

  1. 配置环境变量
    将 MySQL 的bin目录(如C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到系统的Path环境变量中。

3. Linux 安装(CentOS / Ubuntu)

CentOS (yum)

# 1. 下载官方 rpm 源 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm # 2. 安装源 sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm # 3. 安装 MySQL 服务 sudo yum install mysql-community-server -y # 4. 启动并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld

Ubuntu (apt)

sudo apt update sudo apt install mysql-server -y sudo systemctl start mysql.service

💡 秘籍:安装完成后,Linux 会生成一个默认的 root 临时密码,查看命令:
sudo grep 'temporary password' /var/log/mysqld.log

二、配置调优:告别乱码与卡顿

安装完第一件事,就是改配置文件!这能帮你避免 80% 的后期排坑。

  • Windows:安装目录下的my.ini
  • Linux/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]下追加以下核心配置:

[mysqld] # 设置默认字符集为 utf8mb4(支持 emoji,千万别用 utf8) character-set-server=utf8mb4 # 默认存储引擎 default-storage-engine=INNODB # 最大连接数(根据服务器内存调整) max_connections=500 # 时区设置为东八区 default-time-zone='+08:00' [client] default-character-set=utf8mb4

修改后,务必重启 MySQL 服务

  • Windows:net stop mysql然后net start mysql
  • Linux:systemctl restart mysqld

三、使用实战:从建库到增删改查

1. 连接数据库

mysql -u root -p # 输入密码回车即可

2. DDL:建库建表

创建数据库

-- 创建数据库并指定字符集 CREATE DATABASE ai_agent DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 切换数据库 USE ai_agent;

创建用户表

CREATE TABLE `users` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID', `username` VARCHAR(50) NOT NULL COMMENT '用户名', `password_hash` VARCHAR(128) NOT NULL COMMENT '密码哈希', `role` ENUM('ADMIN', 'USER', 'AGENT') DEFAULT 'USER' COMMENT '角色', `credits` INT DEFAULT 0 COMMENT '调用积分', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI系统用户表';

💡 秘籍:建表时每个字段加上COMMENT,后续用工具生成文档或维护时,你会感谢自己。

3. DML:增删改查实战

增 (INSERT)

INSERT INTO users (username, password_hash, role, credits) VALUES ('lao_li', 'md5hash...', 'ADMIN', 1000);

查 (SELECT)

-- 查询积分大于 100 的用户,按积分降序 SELECT id, username, role, credits FROM users WHERE credits > 100 ORDER BY credits DESC LIMIT 10;

改 (UPDATE)

-- 💥 危险操作:一定要带 WHERE 条件! UPDATE users SET credits = credits - 10 WHERE username = 'lao_li';

删 (DELETE)

-- 💥 危险操作:一定要带 WHERE 条件! DELETE FROM users WHERE role = 'AGENT' AND credits <= 0;

4. 常用数据类型速查表

类型说明适用场景占用空间
INT整数年龄、状态值4 bytes
BIGINT长整数自增ID、大数值8 bytes
VARCHAR(N)变长字符串用户名、标题实际长度+1-2字节
DATETIME日期时间创建时间、更新时间8 bytes
DECIMAL(M,D)精确小数金额、汇率视精度而定
JSONJSON文档灵活拓展属性(MySQL 8.0+)视内容而定

四、权限管理:开启远程连接

默认 MySQL 只允许本地连接,想让 Navicat 或代码连上,需开启远程权限:

-- 1. 创建允许远程连接的用户('%' 表示任意 IP) CREATE USER 'dev_user'@'%' IDENTIFIED BY 'YourStrongPwd@123'; -- 2. 授予该用户对 ai_agent 库的所有权限 GRANT ALL PRIVILEGES ON ai_agent.* TO 'dev_user'@'%'; -- 3. 刷新权限 FLUSH PRIVILEGES;

⚠️ 注意:云服务器(如阿里云/腾讯云)需在安全组中放行 3306 端口,否则外网依然连不上!

五、避坑指南(必读)

坑 1:忘记 root 密码

现象Access denied for user 'root'@'localhost'
解决

  1. 停止 MySQL 服务。
  2. 以跳过授权方式启动:mysqld --skip-grant-tables &
  3. 免密登录后执行:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

坑 2:连接报 2059 错误

现象Authentication plugin 'caching_sha2_password' cannot be loaded
原因:MySQL 8.0 默认密码认证插件变了,旧版客户端不支持。
解决

ALTER USER 'dev_user'@'%' IDENTIFIED WITH mysql_native_password BY 'YourStrongPwd@123'; FLUSH PRIVILEGES;

坑 3:插入中文报错或乱码

现象Incorrect string value: '\xE5\xB0\x8F\xE6\x9D\x8E' for column...
原因:表或库的字符集不是utf8mb4,或者建表时误用了utf8(MySQL的utf8是阉割版,最多3字节,存不了emoji)。
解决:按照本文第二部分,彻底把配置文件和建库语句改为utf8mb4

结语

今天从安装到实战,带你硬核通关了 MySQL 的核心用法。

记住:配置先改字符集,删改必带 Where 条件,远程记得开端口

https://www.mysql.com/cn/downloads/https://www.mysql.com/cn/downloads/https://www.oracle.com/mysql/technologies/mysql-enterprise-edition-downloads.htmlhttps://www.oracle.com/mysql/technologies/mysql-enterprise-edition-downloads.html

http://www.jsqmd.com/news/749744/

相关文章:

  • 选电容别再只看容量了!工程师必懂的5个关键参数:从ESR、自谐振频率到直流偏压特性
  • 从随机数到命运裁决:构建可编程随机事件引擎的实践指南
  • NVIDIA Nemotron Nano V2 VL:轻量级视觉语言模型边缘计算实践
  • Skill Forge v2:基于自主实验循环的AI技能与代码自动化优化引擎
  • 3步搞定NCM加密音乐格式转换:释放你的音乐收藏自由
  • 深度学习权重衰减优化与AdamW迁移实践
  • 别再被C++ Build Tools卡住了!Python包安装报错的3种轻量级解决方案(附实测对比)
  • 怎样快速解密微信聊天记录:面向普通用户的完整教程
  • 如何在3分钟内为PotPlayer添加智能字幕翻译:让外语视频轻松看懂
  • STM32与NRF24L01无线通信避坑指南:从SPI配置到稳定收发(附工程源码)
  • 从无人机扫描到3D打印:用CloudCompare完成点云缩放与变换的完整实战流程
  • 终极免费GTA5线上助手:提升游戏体验的完整解决方案
  • 终极指南:如何使用Universal x86 Tuning Utility解锁硬件性能潜力
  • 从神圣到世俗:互联网技术民主化与Web开发演进全解析
  • 如何通过三步配置实现Windows系统权限管理工具的终极控制?
  • 解锁动物森友会无限可能:NHSE存档编辑工具完全指南
  • 免费词典API架构深度解析:多语言词典查询服务的5大核心技术实现
  • 3步解锁PS手柄在Windows的完整潜力:从零到精通的游戏控制器革命
  • 基础模型可靠性保障:技术实现与工程实践
  • AI 到底是如何夺走工作的
  • AI助力科研绘图:PaperBanana自动化图表生成技术解析
  • 基于WebSocket与CDP协议实现本地IDE与云端浏览器自动化交互
  • 如何高效备份微信聊天记录:WeChatMsg完整导出指南
  • OmniRetarget技术:机器人运动控制与场景交互的革命
  • 如何快速构建多语言词典应用:免费Dictionary API完全指南
  • Windows驱动存储管理终极指南:DriverStore Explorer深度解析与实战应用
  • 3个技巧让网盘下载速度提升300%:Netdisk-Fast-Download深度解析
  • OpenClaw:自动化Vault凭证管理工具的设计、部署与生产实践
  • TMS320x2833x与2834x DSP迁移指南与硬件设计差异
  • 前端工程师的逆向初体验:从Chrome DevTools断点调试到破解万方Protobuf请求