【Mysql】Mysql的安装部署和使用

安装 MySQL

下载地址:mysql
安装

mysql-8.0.17-winx64.zip下载完后解压,将 zip 包解压到你想安装的目录,我的路径如下所示:

配置环境变量

计算机---属性---高级系统设置---环境变量,添加MySQL解压的路径

配置 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web_soft\mysql-8.0.17-winx64 ,创建一个配置文件为 my.ini,编辑 my.ini 配置以下基本信息:

mysql

default-character-set=utf8

mysqld

设置3306端口

port = 3306

设置mysql的安装目录

basedir = C:\web_soft\mysql-8.0.17-winx64\

设置mysql数据库的数据的存放目录

datadir = C:\web_soft\mysql-8.0.17-winx64\data

允许最大连接数

max_connections=20

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

创建模式

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

管理员cmd 命令行工具,来安装mysql

使用"cd"命令进入mysql\bin目录下

如果解压在非C盘,以 D\mysql\bin 为例。

要先键入"C:> D: " 进入D盘

然后"D:>cd mysql\bin" ,进入MySQL的bin文件夹

解释

plain 复制代码
接下来输入 : mysqld --initialize --user=mysql --console

来初始化mysql数据库

初始化结果会给你一个随机的MySQL数据库密码,切记要复制下来这个临时密码,复制临时密码、复制临时密码、复制临时密码

复制代码
-  mysqld --initialize --user=mysql --console
- ![](https://cdn.nlark.com/yuque/0/2025/png/22097832/1748139360319-2885f0c5-6cc6-4340-8db5-7d8d66693275.png)
-  A temporary password is generated for root@localhost: )trfw4t<4.Jo
plain 复制代码
输入安装命令:mysqld --install  mysql
plain 复制代码
安装成功后使用临时密码进入mysql数据库   :   mysql -uroot  -p

【遇到问题】

两个主要问题:

  1. 初始化错误 :第一次执行 mysqld --initialize 时失败,因为数据目录 D:\Database\mysql\mysql-8.4.5-winx64\data\ 非空。
  2. 安装服务错误 :执行 mysqld --install mysql 时提示 "Install/Remove of the Service Denied!",这是权限不足导致的。

解决方案

1. 清理数据目录并重试初始化

首先需要清空 MySQL 数据目录中的所有文件,然后重新初始化:

batch

plain 复制代码
# 停止MySQL服务(如果已启动)
net stop mysql

# 删除数据目录中的所有文件(谨慎操作!)
rmdir /S /Q "D:\Database\mysql\mysql-8.4.5-winx64\data"
mkdir "D:\Database\mysql\mysql-8.4.5-winx64\data"

# 重新初始化MySQL(保留临时密码)
mysqld --initialize --user=mysql --console
2. 以管理员身份安装 MySQL 服务

安装 Windows 服务需要管理员权限。请按以下步骤操作:

  1. 关闭当前命令提示符窗口
  2. 右键点击 "开始" 菜单,选择 "Windows PowerShell(管理员)" 或 "命令提示符(管理员)"
  3. 在新打开的管理员命令提示符中执行:

batch

plain 复制代码
# 导航到MySQL bin目录(如果需要)
cd /d "D:\Database\mysql\mysql-8.4.5-winx64\bin"

# 安装MySQL服务
mysqld --install mysql

# 启动MySQL服务
net start mysql

# 使用临时密码登录并修改密码
mysql -u root -p

常见问题

  1. 临时密码丢失:如果忘记了初始化时生成的临时密码,需要再次清空数据目录并重新初始化。
  2. 服务安装失败:确保以管理员身份运行命令提示符,并且没有其他 MySQL 实例使用相同的服务名。
  3. 防火墙问题:如果无法远程访问 MySQL,需要在防火墙中开放 3306 端口。

临时密码登录 MySQL

【遇到问题】

mysql> select host,user,authentication_string from mysql.user; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> select host,user,authentication_string from mysql.user; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> use mysql No connection. Trying to reconnect... Connection id: 12 Current database: *** NONE *** ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql>

复制代码
-   

包含特殊字符(如 !@#$%^&*()

例如:MyNewPassw0rd! 是一个符合要求的密码。

如果忘记临时密码

如果忘记了初始化时生成的临时密码,需要:

  1. 停止 MySQL 服务:batch
plain 复制代码
net stop mysql
  1. 清空数据目录(注意备份重要数据):batch
plain 复制代码
rmdir /S /Q "D:\Database\mysql\mysql-8.4.5-winx64\data"
mkdir "D:\Database\mysql\mysql-8.4.5-winx64\data"
  1. 重新初始化 MySQL 以生成新的临时密码:batch
plain 复制代码
mysqld --initialize --user=mysql --console
  1. 安装并启动服务:batch
plain 复制代码
mysqld --install mysql
net start mysql
  1. 使用新生成的临时密码登录并立即修改密码。

验证修改结果

修改密码后,再次查询用户表应该可以正常执行:

sql

sql 复制代码
SELECT host, user, authentication_string FROM mysql.user;
相关推荐
Lang-12106 分钟前
Frida + Android Hook 完整指南
android·逆向·hook·frida
jzlhll12311 分钟前
Kotlin 协程高级用法之 NonCancellable
android·开发语言·kotlin
我是一颗柠檬24 分钟前
【MySQL全面教学】MySQL基础与环境搭建Day1(2026年)
数据库·后端·sql·mysql·database
我是一颗柠檬24 分钟前
【MySQL全面教学】MySQL数据类型详解Day2(2026年)
数据库·后端·sql·mysql·database
lxysbly1 小时前
2026 年 Android PSV模拟器下载推荐(汉化版)
android
2501_916008891 小时前
Mac 上生成 AppStoreInfo.plist 文件,App Store 上架
android·macos·ios·小程序·uni-app·iphone·webview
小江的记录本1 小时前
【Java并发编程】锁机制:volatile:JMM内存模型、可见性/禁止指令重排、内存屏障、单例模式中的应用(附《思维导图》+《面试高频考点清单》)
java·后端·python·mysql·单例模式·面试·职场和发展
身如柳絮随风扬1 小时前
CentOS 7 搭建 MySQL 主从复制集群:从零到生产级高可用
linux·mysql·centos
数据库小学妹1 小时前
MySQL 性能监控实战:从零搭建 Prometheus + Grafana 监控告警体系(附排查 SOP)
mysql·性能优化·grafana·prometheus·dba
JohnnyDeng942 小时前
Paging 3 分页加载架构全解析:从数据源到 UI 的完整链路
android·ui·kotlin