我用安装程序安装了MySQL服务器,然后启动了。重新启动后,我尝试再次启动它并收到错误:
mh
我尝试重新安装MySQL
的更新:
当我以管理员身份运行D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -u root -p
mysqld: Can't change dir to 'D:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)
2015-11-17T08:30:18.822962Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-11-17T08:30:18.822962Z 0 [Warning] Insecure configuration for --secure- file -priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2015-11-17T08:30:18.822962Z 0 [Note] mysqld (mysqld 5.7.9) starting as process 1108 ...
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [ERROR] failed to set datadir to D:\Program Files\MySQL\MySQL Server 5.7\data\
2015-11-17T08:30:18.838586Z 0 [ERROR] Aborting
2015-11-17T08:30:18.838586Z 0 [Note] Binlog end
2015-11-17T08:30:18.838586Z 0 [Note] mysqld: Shutdown complete
时,没有任何反应。
答案 0 :(得分:61)
我遇到了同样的问题。在我的情况下,我的..\data
中没有C:\mysql\
目录,所以我只是从mysqld --initialize
目录执行了c:\mysql\bin\
命令,我在c:\mysql\data
中获得了数据目录。之后我可以使用mysqld.exe --console
命令来测试服务器启动。
答案 1 :(得分:55)
由于您使用的是Windows安装程序,所以一切都已设置为运行MySQL 5.7作为Windows服务,在大多数情况下这是一个很好的选择。
而不是从命令行运行mysqld.exe
,
Win + R
services.msc
MySQL57
答案 2 :(得分:19)
就我而言,我已将数据目录安装到其他位置。所以数据目录确实不在默认位置。因此,当我从命令提示符运行mysqld
命令时,我必须手动指定数据目录:
mysqld --datadir=D:/MySQLData/Data
答案 3 :(得分:11)
我为新安装做了什么(Windows 10):
以管理员模式启动cmd(通过点击Windows键,输入cmd,右键单击它并选择"以管理员身份运行"
转换为" MySQL服务器X.Y"目录(对我来说,完整路径是C:\ Program Files \ MySQL \ MySQL Server 5.7")
使用记事本创建一个my.ini,其中mysqld部分指向您的数据目录
[mysqld]
datadir="X:\Your Directory Path and Name"
创建了上面my.ini中标识的目录。
更改为服务器目录下的bin目录并执行:
mysqld --initialize
完成后,启动服务,结果很好。
答案 4 :(得分:7)
如果这个stil不工作,请尝试使用以下带有双斜杠的表示法:C:\ WebSerer \ MySQL \ data或C:/ WebServer / MySQL / data
答案 5 :(得分:4)
首次运行
mysqld -u root --initialize-insecure
它将创建一个以root身份作为用户且没有密码的数据文件夹。然后运行
mysqld.exe -u root --console
答案 6 :(得分:2)
如果您遇到此问题并且也找不到 MySQL 服务,只需从“开始”菜单启动“MySQL 安装程序”(或下载它),然后在 MySQL 服务器上选择“重新配置”。按照步骤设置 root 用户密码,然后服务将自动创建和启动(并设置为启动时自动启动)。
答案 7 :(得分:1)
检查您的真实my.ini
文件位置,并使用此命令设置--defaults-file="location"
mysql --defaults-file="C:\MYSQL\my.ini" -u root -p
此解决方案永久适用于您的cmd屏幕。
答案 8 :(得分:1)
在mysql 8.0.13 zip包中初始化。
在mysql bin路径下运行
mysqld.exe --initialize-insecure
添加到my.ini本机mysql
[mysqld]
default_authentication_plugin=mysql_native_password
答案 9 :(得分:0)
就我而言,我是 MySQL5.6,在 Win10 pro 中通过 workbrench 安装工具安装。 有两个配置文件需要修改, 只编辑这一行:datadir=E:\MySQL
测试:创建数据库'testdb'; 如果在 E:\MySQL 中找到 testdb 文件夹则成功。
答案 10 :(得分:0)
我不知道这是不是你的问题,但试试这个...
对我来说,在“ProgramData\MySQL\MySQL Server [version]”下创建的 my.ini 版本没有被读取。我不得不将它移动到“Program Files\MySQL\MySQL Server [version]”。
实时搜索。
答案 11 :(得分:0)
检查服务器所需的丢失文件夹,在我的情况下,这是programData中的UPLOADS文件夹,该文件夹已由我先前使用的空文件夹清理器实用程序删除。
我如何发现:
运行服务器配置文件my.ini(在我的情况下它位于programData中)作为mysqld的默认文件参数(不要忘记使用--console选项在屏幕上查看错误日志) 'mysqld --defaults-file =“ C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini”-控制台'
错误:
mysqld:无法读取'C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \'的目录(操作系统errno 2-没有此类文件或目录)
解决方案:
一旦我手动创建了Uploads文件夹,服务器就成功启动了。
答案 12 :(得分:0)
此解决方案使用 windows mysql安装程序 。
我已经尝试过这里和其他相关文章中提到的所有其他方法,但是它不能解决我的问题,该服务只是无法启动,但是下面的方法是使用 mysql-installer < / strong>。
如果您仍然拥有安装程序或至少记住该版本,请按照以下步骤操作:
您可以从窗口的服务中检查MySqL Server已启动。
希望它对某人有帮助。
答案 13 :(得分:0)
当我遇到同样的错误时,我注意到“ C:\ Program Files \ MySQL \ MySQL Server X.Y \”中的MySQL配置文件已更改为my-default.ini
我通过
解决了在.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). To
# make sure the server reads the config file use the startup option
# "--defaults-file".
答案 14 :(得分:0)
mariofertc为我彻底解决了这个问题,这是他的步骤:
验证mysql的数据目录为空(但是,在删除它之前,请保存err文件作为记录)。
在mysql bin路径下运行: mysqld.exe-初始化不安全
将以下内容添加到my.ini(mysql的配置文件)中: [mysqld] default_authentication_plugin = mysql_native_password
然后(通过任务管理器)检查服务以确保MySql正在运行,如果没有运行-右键单击MySql并启动它。
我还要注意,如果您在mysql bin中没有mysql配置文件,并且无法通过Windows搜索找到它,则需要在C:\ Program Data \ Mysql \中查找它请注意,它可能是除my.ini之外的其他名称,例如模板,如Heesu在这里提到的:Can't find my.ini (mysql 5.7) 只需通过命令mysql --version
找到与您的mysql版本匹配的模板答案 15 :(得分:0)
如果您使用Windows安装程序安装了MySQL Server并作为Window的服务,则可以使用PowerShell启动MySQL Server,并体验不离开命令行的便利。
打开PowerShell并运行以下命令:
Get-Service *sql*
将检索并显示MySQL服务列表。选择所需的名称并运行以下命令,同时将 service-name 替换为实际的服务名称:
Start-Service -Name service-name
完成。您可以通过再次运行命令Get-Service *sql*
并检查服务的状态来检查服务是否正在运行。
答案 16 :(得分:0)
删除“ {path-to-mysql} \ data”目录中的所有文件,然后运行:
mysqld --initialize-insecure --basedir={path-to-mysql}\mysql --datadir={path-to-mysql}\data --console