尝试启动 MySQL 服务器并获取 "Could not start server: argument 2: <class 'TypeError'>: wrong type"

Trying to Start MySQL Server and Getting "Could not start server: argument 2: <class 'TypeError'>: wrong type"

我刚刚使用社区安装程序安装了 MySQL,希望 运行 服务器和创建数据库以用于我的 C++ 程序。我在 运行 Workbench 之前安装了服务器、Workbench、Shell、路由器和 Connector/C++。一切似乎都在正常工作。服务器是 运行,我可以在我的 C++ 程序中连接到它,所以我开始创建我的数据库,当我还没来得及完成时突然断电了。

电源恢复后我的电脑重新启动,我重新打开 MySQL Workbench 发现我无法启动服务器。我多次单击 'Start Server' 按钮,但遇到错误“无法启动服务器:参数 2::类型错误”。

我尝试卸载并重新安装所有内容,但是当我在安装完成后重新打开 MySQL Workbench 时,我遇到了同样的错误。有谁知道可能发生了什么?

编辑:卸载所有内容并从我的计算机中删除所有 MySQL 的痕迹后,我能够重新安装所有内容并再次获取服务器 运行。但是现在我在尝试停止服务器时遇到了同样的错误:“无法停止服务器:参数 2::错误类型”。怎么回事????

我遇到了同样的问题,我已经使用安装程序安装了 MySQL-Workbench 的开发人员默认版本。我最近更新了我的硬件并重新安装了 Windows 10,也许这是 Windows 20H2 或 Workbench 本身的错误?

我找到了解决方法:使用 CMD 或 Powershell 启动或停止服务器的 MySQL-Service。在我的例子中,它的名称是 MySQL80。当以下命令不起作用时,请查看 windows 的服务。

使用net start MySQL80启动服务器。 使用 net stop MySQL80 停止服务器。

记得以管理员身份打开CMD或Powershell。我认为这个问题是 workbench 本身的错误,因为该服务可以通过命令行启动和停止。

我解决了这个问题如下。当前 my.ini 文件编码为 UTF-8。您必须更改为 ANSI。

首先要尝试从 MySQL 服务器 bin 文件夹中 运行 mysqld --console。那应该会给你更具体的错误信息。

就我而言,数据文件夹丢失了。我需要 运行 mysqld --initialize... 命令之一;参见 https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html。在 Windows 上,运行ning mysqld --initialize... --console 有助于查看服务器正在做什么。

完成后,您可以再次 运行 mysqld --console 以查看它是否启动成功。

在我的案例中,我是这样解决的

转到运行----->Services.msc----->MYSQL80---->启动服务器

希望通过这种方式解决问题。

在我的 Windows 安装中,运行该服务的帐户没有对不存在的数据目录的(安全)权限。在创建数据目录“Program Files\MySQL\MySQL Server 8.0\data”并设置权限后,一切都在“net start mysql80”下运行。

以下是我为解决 MySQL Workbench 8.0.23 问题所采取的步骤 这导致无法启动和停止 MySQL 服务器进程 (mysqld) 来自 MySQL Workbench(O/S=Windows 仅回答)...

  1. 关闭MySQLWorkbench
  2. 在 C:\Users<您的帐户>\AppData\Roaming\MySQL\Workbench\serverinstances.xml:
  • 已替换:
    • sc 开始 MySQL80
    • sc 停止 MySQL80
  • 有:
    • 净启动MySQL80
    • 净止损MySQL80
  • 备注:
    • 我的 mysqld 服务安装了名称='MySQL80',replace/match 这个值是你的实际服务名称。
    • 我的 mysqld 服务是使用 'Network Service' 帐户安装的,请在使用 'net' 命令
    • 之前确认您的服务也 运行 正在作为网络服务使用
  1. 设置 MySQLWorkbench CE 8.0 可执行文件到 'Run As Administrator' 以便以管理员身份启动和停止服务 运行 的命令:
  • 在文件资源管理器中找到 MySQLWorkbench.exe 可执行文件: 例如:C:\Program Files\MySQL\MySQL Workbench 8.0\MySQLWorkbench.exe
  • 在文件资源管理器中,Select exe,右键单击 exe,select 'Properties',select 'Compatibility' 选项卡:指定 'Run This Program As An Administrator'
  1. 开始 MySQL Workbench
  • 尝试启动或停止 MySql 服务器进程 (mysqld)

备注:

  • O/S = Windows 10 具体
  • MySQL & MySQL Workbench 是通过 MySQL CE 8.0.23 安装程序安装的
  • 已安装 MySQL 8.0.23 作为从 5.7 到 8.0.23 的升级

我已经完成了很多建议和 none 工作。除了这个:

  1. 下载并 运行 最新的 MySQL 安装程序。 将出现 window,显示您已安装的服务:

    • MySQL 服务器
    • MySQL Workbench
    • MySQL Shell
    • 等等
  2. 单击 MySQL 服务器上的“重新配置”并像以前一样设置服务器。

我的具体服务器设置是:

  1. 类型和网络:保持默认

  2. 身份验证方法:(推荐)

  3. 帐户和角色:输入并检查mysql密码

  4. Windows服务:取消勾选'configure as a service'

  5. 应用配置:执行

服务器应该已启动并且 运行正在运行。

如果在 starting/connecting 来自 Workbench 的服务器时出现此错误,则您需要开始->MYsql workbench 安装单击。 使用端口号和创建根用户密码打开并重新配置 MySQL 服务器。 完成此重新配置,然后打开 workbench。提供端口号和凭据并连接到数据库。

在window中你可以使用任务管理器

  1. 只需在 window 搜索
  2. 中搜索“任务管理器”即可打开任务管理器
  3. 去服务找到Mysql(名称以第一次初始化mysql服务器时保存的名称为准)
  4. 右键单击它并单击开始以启动服务器或停止以停止服务器