从 mysql 5.5 编写的数据库迁移到 mysql 5.0 编写的数据库
Moving from a database written in mysql 5.5 to one written in mysql 5.0
我需要更改对所有数据库的直接访问权限,因为我需要在外部云中使用插件自动备份它们,以便在我的网站被黑时更快地恢复我的网站。问题是我使用的是旧版本的托管服务 (godaddy),所以我的数据库是 mysql 5.5 版,但为了使它们可访问,我需要 5.0 版。因此,当我在旧版本中导入它们时,我收到此错误:
1273 - 未知排序规则:'utf8mb4_unicode_ci'
有没有人遇到过这样的情况?
utf8mb4 在 MySQL 5.0 中不受支持。
您可以在备份之前将您的数据库更改为在 5.5 上使用 utf8,这样您就可以在 MySQL5.0 上恢复它。
使用 ALTER TABLE
和 ALTER DATABASE
。请记住,您必须更改数据库默认字符集,每个 table 的 table 默认字符集,以及每个 table!
中每个字符串列的字符集
ALTER DATABASE dbname DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_unicode_ci;
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-- repeat for each table
但以我的愚见,使用托管服务或任何不会升级其 MySQL 的环境是荒谬的。不再支持 5.0 版。
甚至 MySQL 5.1 也较新,但也不再受支持。 5.0 和 5.1 的文档已从其网站上删除。
您真的在使用 MySQL 5.0 回到历史。您说的是已经过时两代的软件。
切换托管服务提供商。
我需要更改对所有数据库的直接访问权限,因为我需要在外部云中使用插件自动备份它们,以便在我的网站被黑时更快地恢复我的网站。问题是我使用的是旧版本的托管服务 (godaddy),所以我的数据库是 mysql 5.5 版,但为了使它们可访问,我需要 5.0 版。因此,当我在旧版本中导入它们时,我收到此错误:
1273 - 未知排序规则:'utf8mb4_unicode_ci'
有没有人遇到过这样的情况?
utf8mb4 在 MySQL 5.0 中不受支持。
您可以在备份之前将您的数据库更改为在 5.5 上使用 utf8,这样您就可以在 MySQL5.0 上恢复它。
使用 ALTER TABLE
和 ALTER DATABASE
。请记住,您必须更改数据库默认字符集,每个 table 的 table 默认字符集,以及每个 table!
ALTER DATABASE dbname DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_unicode_ci;
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-- repeat for each table
但以我的愚见,使用托管服务或任何不会升级其 MySQL 的环境是荒谬的。不再支持 5.0 版。
甚至 MySQL 5.1 也较新,但也不再受支持。 5.0 和 5.1 的文档已从其网站上删除。
您真的在使用 MySQL 5.0 回到历史。您说的是已经过时两代的软件。
切换托管服务提供商。