【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;
相关推荐
DreamNotOver1 小时前
使用 Django 测试脚本验证用户角色与权限:自动化测试用户仪表盘访
数据库·mysql·django·sqlite
我是好小孩1 小时前
【Android】项目的组件化搭建
android
子夜江寒1 小时前
MySQL 安装与配置指南(CentOS 7)
数据库·mysql·centos
aqi002 小时前
FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC
android·ffmpeg·kotlin·音视频·直播·流媒体
卿雪2 小时前
Redis 数据持久化:RDB和 AOF 有什么区别?
java·数据库·redis·python·mysql·缓存·golang
马 孔 多 在下雨2 小时前
Android 组件化开发基础实践
android
技术摆渡人2 小时前
Android 系统技术探索(2)构建大脑(System Services & PMS)
android
2501_916766542 小时前
MySQL 数据库与 SQL 语言介绍
数据库·sql·mysql
tealcwu2 小时前
【Unity实战】如何使用VS Code在真实Android设备上调试 Unity应用
android·unity·游戏引擎