因此,我希望使用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,包括服务器、工作台等,但显然数据不在那里。
那我安装错了吗?
发布于 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.ini
和defaults-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
文件中,指定在“安装说明”下,
# 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程序。
发布于 2018-12-04 17:27:40
我也面临着同样的问题;显然,在关闭服务器之后,我无法再启动它了。
默认情况下,服务器本身是作为一个名为"mysql“的服务安装的。我不记得将它重命名为其他东西,所以我无法启动正确的服务。
然后是启动服务
方法#1:访问已安装的服务
打开控制面板中的服务应用程序&按字母顺序滚动到MySQL服务:
右键单击“服务”单击“启动服务”
方法#2:命令行执行
从C:提示符打开DOS窗口并运行以下命令:
net start mysql
或net start mysql57
.在您的系统中,正确的名称可能会有所不同。
有关安装或删除服务的详细信息,请检查https://dev.mysql.com/doc/refman/8.0/en/windows-start-service.html。
https://stackoverflow.com/questions/53070240
复制相似问题