代码改变世界

一.二、MySQL 安装步骤(分系统详解)​(一)Windows 系统(exe 安装包 / 压缩包两种方式)​方式 2:压缩包​ini[mysqld]​port=3306​[mysql]​​​cmd​​plaintext​​cmdALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';​​(二)Linux 环境方式 1:YUM 安装​p

2026-01-16 16:25  tlnshuju  阅读(1)  评论(0)    收藏  举报

一.

  1. 环境检查:​
  • 确认操作系统位数(32/64 位),匹配对应 MySQL 安装包(推荐 64 位);​
  • 关闭占用 3306 端口的程序(如其他数据库、迅雷等,可通过netstat -ano | findstr 3306(Windows)或lsof -i:3306(Linux/macOS)查询);​
  • 预留至少 500MB 磁盘空间(含安装文件和数据存储)。​
  1. 安装包下载:​
  • 官方渠道:选择对应环境的 “Installer”(Windows)、“RPM 包”(Linux);​
  • 镜像渠道:国内用户可选择华为云、阿里云镜像,下载速度更快。​
  1. 权限要求:​
  • Windows:需管理员权限(右键安装程序选择 “以管理员身份运行”);​
  • Linux/macOS:需 root 权限(启用sudo命令)。

  • 二、MySQL 安装步骤(分系统详解)​

    (一)Windows 系统(exe 安装包 / 压缩包两种方式)​

  • 双击下载的mysql-installer-community-xxx.exe,勾选 “Accept License Agreement”,点击 “Next”;​
  • 选择安装类型:​
  • 新手选 “Developer Default”;​
  • 自定义选 “Custom”,勾选 “MySQL Server” 及要求的组件;​
  • 路径设置:默认安装路径(C:\Program Files\MySQL\MySQL Server 8.0)可修改,数据存储路径建议单独设置(如 D:\MySQL\Data),避免 C 盘满溢;​
  • 配置端口:默认 3306,若被占用可修改为 3307 等未占用端口,勾选 “Open Firewall port for network access”;​
  • 账号设置:必须设置 root 管理员密码,可添加普通用户;​
  • 服务配置:默认 “Windows Service Name” 为 MySQL80,勾选 “Start the MySQL Server at System Startup”;​
  • 搞定安装:点击 “Execute” 执行设置,等待进度条完成后,点击 “Finish”,可勾选 “Launch MySQL Workbench” 验证连接。​
  • 方式 2:压缩包

  • 解压下载的压缩包到目标路径;​
  • 新建配置文件:在解压根目录新建my.ini文件,写入基础调整:​
  • ini

    [mysqld]​

    basedir=D:\MySQL\mysql-8.0.36

    datadir=D:\MySQL\Data

    port=3306​

    character-set-server=utf8mb4​

    default-storage-engine=INNODB​

    [mysql]​

    default-character-set=utf8mb4​

  • 初始化 MySQL:以管理员身份打开命令提示符(CMD),切换到解压路径的 bin 目录:​
  • cmd

    cd D:\MySQL\mysql-8.0.36\bin​

    mysqld --initialize --console

  • 安装并启动服务:​
  • plaintext

    mysqld --install MySQL80 ​

    net start MySQL80

  • 登录并修改密码:​
  • cmd

    mysql -u root -p

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ​

    (二)Linux 环境

    方式 1:YUM 安装

  • 下载 MySQL YUM 仓库配置文件:​
  • plaintext

    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm​

  • 安装仓库并启用对应版本:​
  • bash

    rpm -ivh mysql80-community-release-el7-3.noarch.rpm​

    vi /etc/yum.repos.d/mysql-community.repo​​

  • 安装 MySQL Server:​
  • b

    yum install -y mysql-community-server​

  • 启动服务并设置开机自启:​
  • b

    systemctl start mysqld​

    systemctl enable mysqld​

  • 查看临时密码并修改:​
  • b

    grep 'temporary password' /var/log/mysqld.log

    mysql -u root -p

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';

    方式 2:RPM 包安装

  • 下载对应版本的 RPM 包;​
  • 卸载系统自带的 mariadb:​
  • ba

    rpm -e --nodeps mariadb-libs​

  • 安装依赖并安装 MySQL:​
  • bas

    yum install -y libaio-devel​

    rpm -ivh mysql-community-common-8.0.36-1.el7.x86_64.rpm​

    rpm -ivh mysql-community-libs-8.0.36-1.el7.x86_64.rpm​

    rpm -ivh mysql-community-client-8.0.36-1.el7.x86_64.rpm​

    rpm -ivh mysql-community-server-8.0.36-1.el7.x86_64.rpm​

  • 后续步骤(启动服务、改密码)同 YUM 安装的 4-5 步。

一、数据库设计说明

**

  1. 数据库名称:library_management
  1. 设计原则
    • 字段类型适配数据特性;
    • 添加主键约束确保数据唯一性,外键关联保证数据一致性;
    • 非空字段设置NOT NULL,避免无效数据;
    • 密码字段预留加密空间。

二、建库建表 SQL 语句

-- 1. 创建数据库(指定编码为utf8mb4,支持所有中文及特殊字符)

CREATE DATABASE IF NOT EXISTS library_management

DEFAULT CHARACTER SET utf8mb4

DEFAULT COLLATE utf8mb4_general_ci;

-- 切换到目标数据库

USE library_management;

-- 2. 创建用户表(user)

CREATE TABLE IF NOT EXISTS `user` (

`id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户唯一标识(自增主键)',

`name` VARCHAR(50) NOT NULL COMMENT '姓名',

`username` VARCHAR(30) NOT NULL UNIQUE COMMENT '用户名(唯一,用于登录)',

`password` VARCHAR(64) NOT NULL COMMENT '密码(建议加密存储,预留加密后长度)',

`phone` CHAR(11) NOT NULL COMMENT '手机号(固定11位)',

`address` VARCHAR(255) COMMENT '住址(可空)',

`major_grade` VARCHAR(50) NOT NULL COMMENT '专业及年级(如:计算机科学与技术2022级)'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';

-- 3. 创建图书表(book)

CREATE TABLE IF NOT EXISTS `book` (

`id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '图书唯一标识(自增主键)',

`book_name` VARCHAR(100) NOT NULL COMMENT '图书名',

`category` VARCHAR(50) NOT NULL COMMENT '分类(如:计算机、文学、历史)',

`introduction` TEXT COMMENT '图书介绍(可长文本)',

`publisher` VARCHAR(100) NOT NULL COMMENT '出版社',

`stock_time` DATETIME NOT NULL COMMENT '入库时间'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='图书信息表';

-- 4. 创建借阅登记表(borrow_record)

CREATE TABLE IF NOT EXISTS `borrow_record` (

`id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '借阅记录唯一标识(自增主键)',

`user_id` INT NOT NULL COMMENT '借阅人ID(关联用户表)',

`book_id` INT NOT NULL COMMENT '图书ID(关联图书表)',

`borrow_time` DATETIME NOT NULL COMMENT '借阅时间',

`is_return` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否归还(0=未归还,1=已归还)',

-- 外键约束:确保借阅人、图书存在于对应表中

FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE,

FOREIGN KEY (`book_id`) REFERENCES `book`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='图书借阅登记表';

三、表结构详细信息(模拟 desc 查询结果)

1. 用户表(user)

字段名

类型

空值

默认值

额外

注释

id

int

NO

PRI

NULL

auto_increment

用户唯一标识

name

varchar(50)

NO

NULL

姓名

username

varchar(30)

NO

UNI

NULL

用户名

password

varchar(64)

NO

NULL

密码

phone

char(11)

NO

NULL

手机号

address

varchar(255)

YES

NULL

住址

major_grade

varchar(50)

NO

NULL

专业及年级(如:计算机科学与工艺 2022 级)

2. 图书表(book)

字段名

类型

空值

默认值

额外

注释

id

int

NO

PRI

NULL

auto_increment

图书唯一标识

book_name

varchar(100)

NO

NULL

图书名

category

varchar(50)

NO

NULL

分类

introduction

text

YES

NULL

图书介绍

publisher

varchar(100)

NO

NULL

出版社

stock_time

datetime

NO

NULL

入库时间

3. 借阅登记表(borrow_record)

字段名

类型

空值

默认值

额外

注释

id

int

NO

PRI

NULL

auto_increment

借阅记录唯一标识

user_id

int

NO

MUL

NULL

借阅人 ID

book_id

int

NO

MUL

NULL

图书 ID

borrow_time

datetime

NO

NULL

借阅时间

is_return

tinyint(1)

NO

0

是否归还