尝试启动 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 仅回答)...
- 关闭MySQLWorkbench
- 在 C:\Users<您的帐户>\AppData\Roaming\MySQL\Workbench\serverinstances.xml:
- 已替换:
- sc 开始 MySQL80
- sc 停止 MySQL80
- 有:
- 净启动MySQL80
- 净止损MySQL80
- 备注:
- 我的 mysqld 服务安装了名称='MySQL80',replace/match 这个值是你的实际服务名称。
- 我的 mysqld 服务是使用 'Network Service' 帐户安装的,请在使用 'net' 命令
之前确认您的服务也 运行 正在作为网络服务使用
- 设置 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'
- 开始 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 工作。除了这个:
下载并 运行 最新的 MySQL 安装程序。
将出现 window,显示您已安装的服务:
- MySQL 服务器
- MySQL Workbench
- MySQL Shell
- 等等
单击 MySQL 服务器上的“重新配置”并像以前一样设置服务器。
我的具体服务器设置是:
类型和网络:保持默认
身份验证方法:(推荐)
帐户和角色:输入并检查mysql密码
Windows服务:取消勾选'configure as a service'
应用配置:执行
服务器应该已启动并且 运行正在运行。
如果在 starting/connecting 来自 Workbench 的服务器时出现此错误,则您需要开始->MYsql workbench 安装单击。
使用端口号和创建根用户密码打开并重新配置 MySQL 服务器。
完成此重新配置,然后打开 workbench。提供端口号和凭据并连接到数据库。
在window中你可以使用任务管理器
- 只需在 window 搜索
中搜索“任务管理器”即可打开任务管理器
- 去服务找到Mysql(名称以第一次初始化mysql服务器时保存的名称为准)
- 右键单击它并单击开始以启动服务器或停止以停止服务器
我刚刚使用社区安装程序安装了 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 仅回答)...
- 关闭MySQLWorkbench
- 在 C:\Users<您的帐户>\AppData\Roaming\MySQL\Workbench\serverinstances.xml:
- 已替换:
- sc 开始 MySQL80
- sc 停止 MySQL80
- 有:
- 净启动MySQL80
- 净止损MySQL80
- 备注:
- 我的 mysqld 服务安装了名称='MySQL80',replace/match 这个值是你的实际服务名称。
- 我的 mysqld 服务是使用 'Network Service' 帐户安装的,请在使用 'net' 命令 之前确认您的服务也 运行 正在作为网络服务使用
- 设置 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'
- 开始 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 工作。除了这个:
下载并 运行 最新的 MySQL 安装程序。 将出现 window,显示您已安装的服务:
- MySQL 服务器
- MySQL Workbench
- MySQL Shell
- 等等
单击 MySQL 服务器上的“重新配置”并像以前一样设置服务器。
我的具体服务器设置是:
类型和网络:保持默认
身份验证方法:(推荐)
帐户和角色:输入并检查mysql密码
Windows服务:取消勾选'configure as a service'
应用配置:执行
服务器应该已启动并且 运行正在运行。
如果在 starting/connecting 来自 Workbench 的服务器时出现此错误,则您需要开始->MYsql workbench 安装单击。 使用端口号和创建根用户密码打开并重新配置 MySQL 服务器。 完成此重新配置,然后打开 workbench。提供端口号和凭据并连接到数据库。
在window中你可以使用任务管理器
- 只需在 window 搜索 中搜索“任务管理器”即可打开任务管理器
- 去服务找到Mysql(名称以第一次初始化mysql服务器时保存的名称为准)
- 右键单击它并单击开始以启动服务器或停止以停止服务器