gpt4 book ai didi

MySQL 8.0 'C:\Program Files\MySQL\MySQL Server 8.0\data\'(OS errno 2 - 没有这样的文件或目录) - 无法从 cmd 找到数据库的数据

转载 作者:行者123 更新时间:2023-11-29 03:17:21 26 4
gpt4 key购买 nike

因此,我希望使用 CMD 启动 MYSQL 服务器,并在其上执行一些简单的小任务(因此我以这种方式使用它而不是 GUI)

我被告知最好的方法是运行这个命令:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --console --standalone

但是,我这样做了,但出现了这个错误:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --console --standalone
mysqld: Can't change dir to 'C:\Program Files\MySQL\MySQL Server 8.0\data\'
(OS errno 2 - No such file or directory)
2018-10-30T17:43:27.385678Z 0 [System] [MY-010116] [Server] C:\Program
Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.12) starting as
process 4676
2018-10-30T17:43:27.420966Z 0 [Warning] [MY-010091] [Server] Can't create
test file C:\Program Files\MySQL\MySQL Server 8.0\data\DESKTOP-
HITD28G.lower-test
2018-10-30T17:43:27.421409Z 0 [Warning] [MY-010091] [Server] Can't create
test file C:\Program Files\MySQL\MySQL Server 8.0\data\DESKTOP-
HITD28G.lower-test
2018-10-30T17:43:27.423273Z 0 [ERROR] [MY-010172] [Server] failed to set
datadir to C:\Program Files\MySQL\MySQL Server 8.0\data\
2018-10-30T17:43:27.434694Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-10-30T17:43:27.442047Z 0 [System] [MY-010910] [Server] C:\Program
Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld
8.0.12) MySQL Community Server - GPL.

我安装了 MySQL 8.0,以及服务器、工作台等,但显然数据不存在。

我是不是安装错了?

最佳答案

通过 Windows Installer 安装 MySQL 8.0 时,在配置步骤中,安装程序将配置文件 my.ini 放在位置 C:\ProgramData\MySQL\MySQL Server 8.0 并为 mysqld 命令设置变量 defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

defaults-file 只是指向服务器实际启动时从中读取默认配置设置的文件。 Read more here.

现在,实际上有两种方法可以在不需要 GUI 的情况下启动服务器。


方法一:使用已安装的Windows服务运行服务器

通过服务应用程序启动、停止和重新启动 MySQL80 服务,或者在 cmd 中使用 net 命令来执行相同的操作。
(正如@nonNumericalFloat 所指出的)

方法二:

(这实际上对我有用)

MySQL80 服务启动 mysqld.exe 可执行文件,它实际上指向配置文件 my.inidefaults-file服务的 Properties 选项卡下的 Path to executable 字段表明变量。

因此,单独使用 mysqld 命令是不够的,因为它既不提供 MySQL80 服务提供的启动期间服务器所需的默认选项文件的路径(如前所述),也不提供data 文件夹的正确位置(也由 datadirmy.ini 中指定)。因此,运行服务器的正确命令如下:

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"--console

另外,因为单独使用mysqld时,它会尝试在C:\Program Files\MySQL\MySQL Server 8.0\data中寻找数据文件夹,实际上是不存在,而不是设置 defaults-file,可以使用以下命令将 datadir 设置为指向正确的数据文件夹位置:

mysqld --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data"--console

(keerthiprasath 提到的类似解决方法)

console 参数用于在执行命令时显示任何错误和/或状态消息。

还有一点要注意,在 my.ini 文件中,指定在 "Installation Instructions" 下,

# On Windows you should keep this file in the installation directory 
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y).

因此,将 my.ini 文件从 C:\ProgramData\MySQL\MySQL Server 8.0 复制到 C:\Program Files\MySQL\MySQL Server 8.0 后, mysqld --console 单独工作正常。

注意:
方法2中的命令仅在cmd被授予管理权限时才有效。
此外,
PATH 需要设置以便更轻松地调用 MySQL 程序。

关于MySQL 8.0 'C:\Program Files\MySQL\MySQL Server 8.0\data\'(OS errno 2 - 没有这样的文件或目录) - 无法从 cmd 找到数据库的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53070240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com