MySQL复习记录(一):Win10成功安装解压免安装版mysql8.0.23的过程记录

一,下载MySQL免安装版

官网下载免安装压缩文件:
在这里插入图片描述

  • 所谓免安装版就是一个压缩文件,解压缩后并简单配置就能使用MySQL服务,比以前的多步骤安装版在安装时方便很多。

我这里是下载到D:\tools_software\mysql目录下面,然后解压缩:
在这里插入图片描述

二,创建并配置 my.ini 文件

在 bin 同级目录创建一个data文件夹。

同时在同级目录创建 my.ini 文件:
在这里插入图片描述
然后打开文件填写以下内容:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\tools_software\mysql\mysql-8.0.23-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\tools_software\mysql\mysql-8.0.23-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
  • 这里千万要注意所填写的两个目录的格式!

如果你是按上图方式复制的目录地址到ini文件中,记得要按上面配置中那样稍加修改!否则可能会导致后面初始化阶段出问题:

D:\tools_software\mysql\mysql-8.0.23-winx64\bin>mysqld --initialize --console
mysqld: Can’t create/write to file ‘D: ools_software\mysql\mysql-8.0.23-winx64\data\is_writable’ (OS errno 2 - No such file or directory)
2021-03-21T05:18:47.055720Z 0 [System] [MY-013169] [Server] D:\tools_software\mysql\mysql-8.0.23-winx64\bin\mysqld.exe (mysqld 8.0.23) initializing of server in progress as process 14892
2021-03-21T05:18:47.055765Z 0 [ERROR] [MY-010338] [Server] Can’t find error-message file ‘D:\tools_software\mysql\mysql-8.0.23-winx64\bin\ ools_software\mysql\mysql-8.0.23-winx64\share\errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ configuration directive.
2021-03-21T05:18:47.056089Z 0 [Warning] [MY-013242] [Server] --character-set-server: ‘utf8’ is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2021-03-21T05:18:47.057690Z 0 [ERROR] [MY-010460] [Server] --initialize specified but the data directory exists and is not writable. Aborting.
2021-03-21T05:18:47.057700Z 0 [ERROR] [MY-013236] [Server] The designated data directory D: ools_software\mysql\mysql-8.0.23-winx64\data\ is unusable. You can remove all files that the server added to it.
2021-03-21T05:18:47.075881Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-03-21T05:18:47.076832Z 0 [System] [MY-010910] [Server] D:\tools_software\mysql\mysql-8.0.23-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.23) MySQL Community Server - GPL.

三,初始化MySQL

接下来的所有操作都需要在以管理员身份打开的 cmd 中进行。

直接初始化:

mysqld --initialize --console

结果如下:

mysqld --initialize --console
2021-03-21T05:22:06.303690Z 0 [System] [MY-013169] [Server] D:\tools_software\mysql\mysql-8.0.23-winx64\bin\mysqld.exe (mysqld 8.0.23) initializing of server in progress as process 15492
2021-03-21T05:22:06.304459Z 0 [Warning] [MY-013242] [Server] --character-set-server: ‘utf8’ is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2021-03-21T05:22:06.319102Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-03-21T05:22:12.696228Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-03-21T05:22:23.225082Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: d;aa/-PgJ85)

  • 保存一下最后一行的 d;aa/-PgJ85) 它是初始化生成的初始化密码!

可以执行以下命令删除 MySQL 服务:

> sc delete mysql8
[SC] DeleteService 成功

四,启动MySQL服务

首先需要安装MySQL服务:

mysqld --install mysql8
  • mysql8自定义的服务名

结果如下:

mysqld --install mysql8
Service successfully installed.

然后启动MySQL服务:

net start mysql8

结果如下:

net start mysql8
mysql8 服务正在启动 …
mysql8 服务已经启动成功。

五,登录并修改密码

启动MySQL服务后使用 root 身份以及之前保存的初始化密码进行登录:

mysql -uroot -pd;aa/-PgJ85)

进入MySQL,结果如下:

mysql -uroot -pd;jQ/-AaJ85)
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23
Copyright © 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>

再修改密码并刷新:

mysql> alter user 'root'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> flush privileges;

结果如下:

mysql> alter user ‘root’@‘localhost’ IDENTIFIED BY ‘yourpassword’;
Query OK, 0 rows affected (0.17 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.11 sec)

六,配置环境变量

按照网上一些教程,在正式初始化MySQL之前就需要配置环境变量,但我多次重复试验后会在初始化步骤中报错(我也不明白为什么):

‘mysql’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

所以我这里在能启动MySQL服务之后再配置环境变量:
在这里插入图片描述
然后就能在cmd的任意位置启动MySQL服务而不需要再进入D:\tools_software\mysql\mysql-8.0.23-winx64\bin进行启动

结果如下:

D:\tools_software\mysql\mysql-8.0.23-winx64\bin>cd \
D:>net stop mysql8
mysql8 服务正在停止.
mysql8 服务已成功停止。
D:>net start mysql8
mysql8 服务正在启动 …
mysql8 服务已经启动成功。
D:>net stop mysql8
mysql8 服务正在停止.
mysql8 服务已成功停止。

七,使用MySQL交互式命令

1,进入交互式命令行环境:

C:\WINDOWS\system32>mysql -u root -p
Enter password: ******************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.23 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

2,可以开始使用MySQL命令了,比如:

mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

3,退出:

mysql> quit
Bye
  • 也能使用 ctrl+D

八,后续问题

1,启动失败及解决

问题描述:最近需要重新连接MySQL做一些功能测试,使用net start mysql启动MySQL时却提示 服务名无效
在这里插入图片描述
问题发现:逛了一圈,使用 win+R 运行 services.msc 后未发现发现有MySQL服务。
解决方案:执行 mysqld --install mysql 重新初始化MySQL服务,再使用net start mysql启动MySQL,成功:
在这里插入图片描述
在这里插入图片描述

2,初始化失败

最近重装MySQL8,在初始化时候报错:

PS D:\tools_software\mysql\mysql-8.0.32-winx64\bin> mysqld --initialize --console
mysqld : 无法将“mysqld”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径
正确,然后再试一次。
所在位置 行:1 字符: 1
+ mysqld --initialize --console
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (mysqld:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: 找不到命令 mysqld,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果信任此命令,请改为键入“.\mysqld”。有关详细信息,请参阅 "get-help about_Command_Precedence"。
PS D:\tools_software\mysql\mysql-8.0.32-winx64\bin> .\mysqld --initialize --console
mysqld: Can't create directory 'D:\tools_software\mysql\mysql-8.0.23-winx64\data\' (OS errno 2 - No such file or directory)
2023-03-08T12:07:18.881717Z 0 [System] [MY-013169] [Server] D:\tools_software\mysql\mysql-8.0.32-winx64\bin\mysqld.exe (mysqld 8.0.32) initializing of server in progress as process 17256
2023-03-08T12:07:18.881801Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 'D:\tools_software\mysql\mysql-8.0.23-winx64\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2023-03-08T12:07:18.882183Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-03-08T12:07:18.883157Z 0 [ERROR] [MY-013236] [Server] The designated data directory D:\tools_software\mysql\mysql-8.0.23-winx64\data\ is unusable. You can remove all files that the server added to it.
2023-03-08T12:07:18.883648Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-03-08T12:07:18.883755Z 0 [System] [MY-010910] [Server] D:\tools_software\mysql\mysql-8.0.32-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.32)  MySQL Community Server - GPL.

他喵的卡了好久!

修改 my.ini 文件:

[mysqld]
 
# 设置3306端口
port=3306
 
# 设置mysql的安装目录 
basedir=D:/tools_software/mysql/mysql-8.0.32-winx64

# 设置mysql数据库的数据的存放目录
datadir=D:/tools_software/mysql/mysql-8.0.32-winx64/data
 
# 允许最大连接数 
max_connections=200
 
# 允许连接失败的次数。 
max_connect_errors=10
 
# 服务端使用的字符集默认为UTF8 
character-set-server=utf8
 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB
 
# 默认使用“mysql_native_password”插件认证 
#mysql_native_password
 
default_authentication_plugin=mysql_native_password
 
default-time-zone='+08:00'

lc-messages=D:/tools_software/mysql/mysql-8.0.32-winx64/share/english

能初始化成功。

Navicat Premium 15 永久破解激活工具及安装教程(亲测可用)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值