在Windows上安装mysql和未知选项

时间:2013-09-09 12:31:17

标签: windows-services mysql

我正在尝试使用mysqld在Windows上安装MySQL服务。这是我的命令:

mysqld --install test123 --defaults-file="C:\mysql\my.ini" --verbose --console --explicit_defaults_for_timestamp --innodb=off

所以这就是我想要的:

  • mysql --install test123 - 安装名为test123的mysql服务
  • - defaults-file =“C:\ mysql \ my.ini” - 使用配置文件中的默认值C:\ mysql \ my.ini
  • - 详细--console - 显示输出
  • - explicit_defaults_for_timestamp - 不显示this annoying warning
  • - innodb = off - 我不需要InnoDB存储引擎

当我运行上面的命令时,我收到错误消息未知选项'--install'。整个产出:

2013-09-09 14:17:06 3712 [Note] Plugin 'FEDERATED' is disabled.
2013-09-09 14:17:06 3712 [Note] Plugin 'InnoDB' is disabled.
2013-09-09 14:17:06 3712 [ERROR] mysqld: unknown option '--install'
2013-09-09 14:17:06 3712 [ERROR] Aborting

2013-09-09 14:17:06 3712 [Note] Binlog end
2013-09-09 14:17:06 3712 [Note] Shutting down plugin 'partition'
...many "Shutting down plugin" lines...
2013-09-09 14:17:06 3712 [Note] Shutting down plugin 'binlog'
2013-09-09 14:17:06 3712 [Note] mysqld: Shutdown complete

屏幕:http://prntscr.com/1q9ah2

我应该怎么做才能知道mysqld.exe选项--install?

我不知道这是否重要,但在the manual中写道:

  

在Windows上,如果使用--defaults-file--install选项启动服务器,则必须先安装--install。否则,mysqld.exe将尝试启动MySQL服务器。

in this part也是:

  

如果服务器是使用--defaults-file--install选项启动的,则--install必须是第一个。

2 个答案:

答案 0 :(得分:1)

我发现问题可能出在选项 - verbose --console

当我运行此命令时,一切看起来都很好: command

答案 1 :(得分:0)

我遇到了完全相同的问题并最终找到了解决方案。

基本上,您不能指定任何其他额外的mysqld选项 除了 my.ini 配置文件的完整路径, 它将包含所有其他“命令行” 参数。

所以在你的情况下,唯一可行的就是这个命令行:

"C:\mysql\mysqld.exe" --install "test123" --defaults-file="C:\mysql\my.ini"

请注意,我指定了 mysqld.exe 可执行文件的完整路径
my.ini 配置文件以及所有参数都被完全引用。

这将确保它每次都能正常工作,即使:

  • 你在同一台机器上安装了多个 mysqld 服务
  • 在 PATH 环境变量中 OR 多个 mysql 二进制实例
  • 或者在你的 mysqld 路径、配置路径或服务名称中有空格

就我而言,我试图在另一个端口上安装另一个 MySQL 实例版本,
所以我的准系统 MySQL 配置文件对于默认端口 3306 如下所示:

# Simply change all the port below from 3306 to something else, such as: 3308, 3310, 3312, etc.
# if it was already taken by another MySQL service instance.
#
[client]
port=3306

[mysql]
port=3306

[mysqld]
port=3306

basedir="C:/mysql/"
datadir="C:/mysql/data"
tmpdir="C:/mysql/temp"
secure-file-priv="C:/mysql/upload"

最后,确保使用以下命令初始化丢失的数据文件夹:

"C:\mysql\bin\mysqld.exe" --initialize --verbose --console
mkdir "C:\mysql\temp\"
mkdir "C:\mysql\upload\"

服务启动后,您需要使用控制台上显示的预先生成的密码以 root 身份登录并更改一次。

现在您可以创建数据库架构,然后根据需要调整这个 my.ini 配置文件。