尝试启动MySQL服务器并获取“无法启动服务器:参数2:<class'TypeError'>:错误类型”
我刚刚使用社区安装程序安装了 MySQL,希望能够运行服务器并创建用于我的 C++ 程序的数据库。在运行工作台之前,我安装了服务器、工作台、外壳、路由器和连接器/C++。一切似乎都在正常工作。服务器正在运行,我能够在我的 C++ 程序中连接到它,所以我开始创建我的数据库,但在我完成之前突然断电了。
一旦电源恢复并且我的 PC 重新启动,我重新打开 MySQL Workbench 发现我无法启动服务器。我多次单击“启动服务器”按钮,但遇到错误“无法启动服务器:参数 2:<class 'TypeError'>:错误类型”。
我尝试卸载并重新安装所有内容,但是当我在安装完成后重新打开 MySQL Workbench 时,遇到了同样的错误。有谁知道可能发生了什么?
编辑:在卸载所有内容并从我的计算机中删除 MySQL 的所有痕迹后,我能够重新安装所有内容并使服务器再次运行。但是,现在当我尝试停止服务器时遇到相同的错误:“无法停止服务器:参数 2:<class 'TypeError'>:错误类型”。到底是怎么回事????
回答
我有同样的问题,我已经使用安装程序安装了 MySQL-Workbench 的开发人员默认版本。我最近更新了我的硬件并重新安装了 Windows 10,也许是 Windows 20H2 或 Workbench 本身的错误?
我找到了一个解决方法:使用 CMD 或 Powershell 启动或停止服务器的 MySQL 服务。就我而言,它的名称是 MySQL80。当以下命令不起作用时,请查看您的 Windows 服务。
使用net start MySQL80启动服务器。使用net stop MySQL80停止服务器。
请记住以管理员身份打开 CMD 或 Powershell。我认为这个问题是工作台本身的一个错误,因为该服务可以通过命令行启动和停止。
回答
首先要尝试mysqld --console从 MySQL 服务器 bin 文件夹运行。这应该会给你更具体的错误信息。
就我而言,数据文件夹丢失了。我需要运行其中一个mysqld --initialize...命令;见https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html。在 Windows 上,运行mysqld --initialize... --console有助于查看服务器正在做什么。
完成后,您可以mysqld --console再次运行以查看它是否成功启动。