微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Ubuntu 20.04 上从 MySQL 迁移到 MariaDB

如何解决在 Ubuntu 20.04 上从 MySQL 迁移到 MariaDB

我正在尝试在 Ubuntu 20.04 LTS 上迁移到 MariaDB 10.5.8。

问题:
我特别是在将我的 MysqLdbdummp.sql 文件导入新的 Mariadb 时遇到问题。

我的脚步
1.) 首先,我将所有 dbs 转储到一个 .sql 文件 MysqLdump -u root -p --all-databases > all_dbs.sql
2.) 然后,我从 ubuntu sudo apt purge MysqL-server
删除MysqL 服务器 3.) 从这里,我安装了 mariadb:
sudo apt update && sudo apt upgrade
sudo apt -y install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'
sudo apt update
sudo apt install mariadb-server mariadb-client # 我愚蠢地回答“不”,因为它告诉我这样做是安全的...
4.) 我尝试使用 MysqL -u root -p < all_dbs.sql 导入我的 dbdumpfile.sql,但是遇到了这个错误 'ERROR 1698 (28000): Access denied for user 'root'@'localhost',所以我使用 these instructions解决这个问题
5.) 当然,这导致了一个新问题:UnkNown collation: 'utf8mb4_0900_ai_ci' #1902,我用 sed -i all_dbs.sql -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g'
解决了这个问题 6.)而且 -Now- 当我运行 MysqL -u root -p < all_dbs.sql 时,它输出
ERROR 1005 (HY000) at line 87: Can't create table MysqL.db (errno: 168 "UnkNown (generic) error from engine")

有什么建议吗?

解决方法

从您的 mysql 文件中删除 all_dbs.sql 数据库及其所有表插入。 MariaDB-10.4+ 不会将其 mysql 表映射到您要从中导入的 MySQL-8.0。

您需要查看 show create user {user}@{host}show grants for {user}@{host} 才能迁移系统用户。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?