【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;
相关推荐
阿巴斯甜21 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker21 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95271 天前
Andorid Google 登录接入文档
android
黄林晴1 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿2 天前
Android MediaPlayer 笔记
android
Jony_2 天前
Android 启动优化方案
android
阿巴斯甜2 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇2 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android