【mysql报错】mysqld --initialize-insecure初始化时报错

在尝试初始化MySQL8.0.32时,遇到了一个错误,涉及设置strict_trans_tables,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION到sql_mode。同时,服务器还报告了对dataLAPTOP-N36HO203.err文件的权限被拒绝,导致数据目录不可用。为了解决这个问题,用户从mysql配置文件my.ini中删除了相关语句,从而成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在初始化mysql时,出现这个错误

2023-03-28T13:08:29.258730Z 0 [Note] [MY-013847] [Server] Using jemalloc.dll for my_malloc and ut::malloc etc.
2023-03-28T13:08:29.286368Z 0 [ERROR] [MY-000077] [Server] E:\mysql\mysql-8.0.32-winx64\bin\mysqld.exe: Error while setting value 'STRICT_TRANS-TABLES,NO_ZERO_IN_DATE,NO-ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2023-03-28T13:08:29.286535Z 0 [ERROR] [MY-010187] [Server] Could not open file 'data\LAPTOP-N36HO203.err' for error logging: Permission denied
2023-03-28T13:08:29.287049Z 0 [ERROR] [MY-013236] [Server] The designated data directory data is unusable. You can remove all files that the server added to it.
2023-03-28T13:08:29.287386Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-03-28T13:08:29.287534Z 0 [Note] [MY-010120] [Server] Binlog end

在这里插入图片描述

解决办法:

在mysql配置文件my.ini中把下面这句话删除就可以解决了
在这里插入图片描述

成功

在这里插入图片描述

### mysqld 命令未找到或无法运行的原因分析 当执行 `mysqld --initialize --console` 或其他 `mysqld` 相关命令,如果提示 `'mysqld' 不是内部或外部命令`,通常是因为系统的环境变量 PATH 中缺少 MySQL 的 bin 路径。以下是可能原因及解决方案: #### 可能原因 1. **PATH 环境变量未设置** 如果系统找不到 `mysqld.exe` 文件,则可能是由于其所在的路径未被加入到系统的 PATH 环境变量中。 2. **MySQL 安装不完全** 若 MySQL 服务器未正确安装,可能导致 `mysqld.exe` 文件缺失。 3. **权限不足** 执行初始化操作需要管理员权限,若当前终端不是以管理员身份运行,可能会导致失败。 --- ### 解决方案 #### 方法一:手动添加 PATH 环境变量 确保 MySQL 的 `bin` 目录已添加至系统的 PATH 环境变量中。 - Windows 系统下,假设 MySQL 安装在 `C:\Program Files\MySQL\MySQL Server 5.7`,则需将该目录下的 `bin` 子目录(即 `C:\Program Files\MySQL\MySQL Server 5.7\bin`)添加到 PATH 中[^1]。 - 添加完成后,在新的命令窗口中重新尝试运行 `mysqld --initialize --console`。 #### 方法二:指定完整路径调用 mysqld 如果不希望修改全局 PATH 环境变量,可以直接通过绝对路径调用 `mysqld.exe`。例如: ```bash "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --initialize --console ``` #### 方法三:检查 my.ini 配置文件 确认是否存在有效的 `my.ini` 配置文件,并验证其中的关键参数是否正确。对于 MySQL 5.7 版本,默认情况下不需要显式配置数据目录 (`datadir`),但如果指定了错误的路径也可能引发问题[^2]。以下是一个典型的 `my.ini` 示例: ```ini [client] default-character-set=utf8 [mysqld] port = 3306 basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7 character-set-server=utf8 default-storage-engine=INNODB max_connections=20 ``` #### 方法四:修复或重装 MySQL 如果上述方法均无效,可以考虑卸载并重新安装 MySQL。注意备份现有数据以防丢失。具体步骤如下: 1. 卸载旧版本 MySQL; 2. 下载最新稳定版 MySQL 并按照官方文档完成安装; 3. 初始化数据库实例并通过 `mysqld --initialize --console` 获取初始密码。 --- ### 注意事项 - 在执行任何涉及系统环境变量的操作前,请先保存原始配置以便回滚。 - 使用管理员权限打开命令行工具可减少因权限不足而导致的错误。 --- 问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值