【发布时间】:2018-09-17 21:38:12
【问题描述】:
我尝试使用以下命令在 windows 10 64Bit 下初始化 mysql:
"D:\Test\Win32\Debug\mysqld.exe" --no-defaults --console --innodb-page-size=16384 --bootstrap "--lc-messages-dir=D:/Tests/Win32/Debug/share" --basedir=. --datadir=. --default-storage-engine=myisam --max_allowed_packet=9M --net-buffer-length=16k
当前目录为 D:\Tests\Win32\Debug\data。
如果我从 shell 运行命令,没有问题。 我使用 embarcadero 编写了一个 c++ 程序,另一个使用 MVS 2013 编写了代码:
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES)};
sa.bInheritHandle = TRUE;
assert(CreatePipe(&m_ro, &m_wo, &sa, 0));
assert(SetHandleInformation(m_ro, HANDLE_FLAG_INHERIT, 0));
assert(SetHandleInformation(m_wo, HANDLE_FLAG_INHERIT, 0));
assert(CreatePipe(&m_ri, &m_wi, &sa, 0));
assert(SetHandleInformation(m_ri, HANDLE_FLAG_INHERIT, 0));
assert(SetHandleInformation(m_wi, HANDLE_FLAG_INHERIT, 0));
STARTUPINFOA si = {sizeof(STARTUPINFOA)};
si.dwFlags |= STARTF_USESTDHANDLES;
si.hStdInput = m_ri;
si.hStdOutput = m_wo;
si.wShowWindow = SW_SHOWMAXIMIZED | SW_SHOWNORMAL;
assert(CreateProcessA(ApplicationName, CommandLine, NULL, NULL, true, CREATE_DEFAULT_ERROR_MODE, NULL, NULL, &si, &m_pi));
Mysqld.exe 在打印错误消息后退出: [错误] 1105 引导文件错误,返回代码 (32)。最近的查询:''
我使用 Mysql First 而不是 MariaDb。两者都写相同的错误信息。
【问题讨论】:
-
为什么
--no-defalts??
标签: mysql visual-c++ mariadb c++builder