我的 MySQL 有问题。当我尝试运行脚本时,出现两个错误之一:
正在准备... [WinError 32] 该进程无法访问该文件,因为该文件正在被另一个进程使用:
如果我不选择默认模式,我得到的第一个。这是有道理的,但当我选择默认模式时,我得到了不同的模式:
序列项 6:预期的 str 实例,找到字节
如果我尝试打开脚本来运行它,我会看到这个窗口:
我在不同的机器上检查过,编码是utf8,但在我的机器上我只能用latin1编码打开它,这样数据库中的数据就会损坏。
如果我选择 utf8 或任何其他编码,我会得到以下结果: 文件内容无法从“utf8”转换为 UTF-8:转换输入中的字节序列无效
我尝试的任何脚本都会发生这种情况,无论其中的内容如何。
这是一个不起作用的脚本示例:
SET @organizationId = 34299;
SET @userId = (SELECT max(user.id) FROM user);
INSERT IGNORE INTO user (id, uuid, username, password, first_name, last_name, email, owner_organization_id, sign_app_port) VALUES (@userId + 1, uuid(),'[email protected]','$2a$10$Gt/hIHyrP2NNzDoC5bbu5K9CKlyZJXEy', 'Test', 'Test','[email protected]', @organizationId, 8086);
INSERT IGNORE INTO user (id, uuid, username, password, first_name, last_name, email, owner_organization_id, sign_app_port) VALUES (@userId + 2, uuid(),'[email protected]','$2a$10$dva/lg08AtbWfDoC5bbuzmhfB0F.9hMi', 'Test', 'Test','[email protected]', @organizationId, 8086);
我在互联网上找不到类似的问题,也没有任何有用的信息。我尝试再次安装mysql,甚至尝试了一些旧版本,但这也不起作用(操作系统是Windows 10 Professional)。 预先感谢您提供任何有用的信息。
看来您有两个问题。其中“运行脚本”函数返回“预期的 str 实例,而不是字节”,这是 MySQL Workbench 中长期存在的错误。该bug自2021以来一直存在,解决方案是降级到MySQL Workbench 8.0.22。
打开脚本功能的第二个问题可能是文件的字符编码问题,正如@Luuk 所建议的。打开它并使用文本编辑器重新保存是一个明智的选择。