首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL 8.0 'C:\Program \MySQL\MySQL Server 8.0\ data \‘( or 2-没有这样的文件或目录)-无法从cmd找到db的数据

MySQL 8.0 'C:\Program \MySQL\MySQL Server 8.0\ data \‘( or 2-没有这样的文件或目录)-无法从cmd找到db的数据
EN

Stack Overflow用户
提问于 2018-10-30 17:58:52
回答 2查看 16K关注 0票数 3

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

有人告诉我,最好的方法是运行以下命令:

代码语言:javascript
运行
复制
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --console --standalone

但是,我得到了这个错误:

代码语言:javascript
运行
复制
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,包括服务器、工作台等,但显然数据不在那里。

那我安装错了吗?

EN

回答 2

Stack Overflow用户

发布于 2021-09-02 16:39:56

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

defaults-file只是指向服务器在实际启动时读取默认配置设置的文件。点击这里阅读更多内容。

现在,实际上有两种方法来启动服务器而不需要GUI。

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

通过服务应用程序启动、停止和重新启动MySQL80服务,或者使用cmd中的net命令进行同样的操作。

(@nonNumericalFloat指出)

方法2:

(这对我来说是有效的)

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

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

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

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

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

(基尔硫普拉斯提到了类似的解决办法)

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

另一点要注意的是,在my.ini文件中,指定在“安装说明”下,

代码语言:javascript
运行
复制
# 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程序。

票数 2
EN

Stack Overflow用户

发布于 2018-12-04 17:27:40

我也面临着同样的问题;显然,在关闭服务器之后,我无法再启动它了。

默认情况下,服务器本身是作为一个名为"mysql“的服务安装的。我不记得将它重命名为其他东西,所以我无法启动正确的服务。

尝试将其安装为服务。

  1. 启动cmd
  2. 转到"C:\Program \MySQL\MySQLServer5.6\bin“
  3. 输入mysqld --安装

然后是启动服务

方法#1:访问已安装的服务

打开控制面板中的服务应用程序&按字母顺序滚动到MySQL服务:

右键单击“服务”单击“启动服务”

方法#2:命令行执行

从C:提示符打开DOS窗口并运行以下命令:

net start mysqlnet start mysql57.在您的系统中,正确的名称可能会有所不同。

有关安装或删除服务的详细信息,请检查https://dev.mysql.com/doc/refman/8.0/en/windows-start-service.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53070240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档