状态
我目前在 Ubuntu 20.04 上运行 LAMP 服务器,它有一个 MySQL 服务器,其中包含多个 Drupal 和 Wordpress 数据库,以及一个 PHPMYADMIN 数据库。
请求
是否有一些超级聪明的 MySQL 数据库专家愿意发布关于如何将工作数据库从 LAMP (MySQL-Server) 迁移到 LAMP (MariaDB-Server) 的“权威指南”,包含从
1.)“步骤 1”=导出所需的工作数据库,
2.)完全删除 MySQL 服务器,# 如果有必要,我知道 Mariadb 是一个插件
3.)安装到 MariaDB 服务器,
4.)和“最后一步" = 导入所需的工作数据库?
我在网上搜索了几天,可以在网上找到“零碎”的教程。我认为 MariaDB 获得了市场份额,这样的教程对 Ubuntu 18.04 / 20.04 用户来说很有价值。如果这样的指南已经存在,请转发:-)
由于每台服务器都不同,因此很难针对每种情况编写“权威指南”。必须考虑版本以及数据库引擎等。也就是说,基本情况如下所示:
1 - 导出所有数据库(过程和触发器完好无损)
首先——也是最重要的事情——是您首先导出所有数据库。不过,有些你不需要继续前进,所以让我们只导出你关心的那些:
请务必更改
{user}
为数据库中具有最高权限的用户帐户,否则可能导出不完整。确保还将数据库的名称更改为它们的正确名称,并将导出名称更改为唯一的名称。我不建议在
--all-databases
此处使用该标志,因为这将包含三个特定于 MySQL 的表,不应针对您即将创建的 MariaDB 安装进行安装。2 — 准备数据库帐户列表
构建新数据库时,确保所有重要的用户帐户都存在非常重要。我们可以查询数据库以查看用户帐户名称是什么,更重要的是,我们可以查询数据库以构建
CREATE
我们稍后在本指南第 5 步中需要的语句。登录到您的 MySQL 安装并运行此查询:
这将输出如下内容:
将此列表保存到某个文件中,因为您很快就会需要它。
3 — 从服务器中彻底消除 MySQL
如果您 100% 确定您拥有 MySQL 数据库所需的一切,那么现在是时候从服务器中清除它了。
sudo systemctl stop mysql
apt
:4 — 安装 MariaDB 服务器
接下来是 MariaDB 安装。我不会逐步介绍您可能想要安装的所有不同配置选项,但会指出一些可能会使您的生活更轻松的几个。首先,让我们安装它:
虽然 MariaDB已安装在您的服务器上,但您将使用的大多数工具都将针对 MySQL。这就是为什么第二个命令
mysql_secure_installation
不是更恰当命名的原因。当你跑步时,
mysql_secure_installation
你会被问到这些问题:Enter current password for root (enter for none):
⇠ 敲Enter键Set root password? [Y/n]
⇠ 选择YEnter password
⇠ 输入一个好的,然后在要求确认时再次输入。现在,由于您无法在
root
没有的情况下登录sudo
,您可能希望创建具有您可能需要的所有管理员权限的帐户。sudo mysql -u root -p
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'CorrectHorseBatteryStaple';
注意:请务必更改
admin
为您希望为您的帐户命名的任何名称,以及CorrectHorseBatteryStaple
您将记住的鲜为人知的密码。GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
⇠非常重要5 - 重新创建用户帐户
使用您之前准备的列表,重新创建 WordPress、Drupal 和(可能)phpMyAdmin 所需的各种用户帐户。
注意:请务必将用户名和密码设置为您真正想要的。
6 — 重新创建你的数据库
对于您需要的每个数据库,在 MariaDB 中运行它:
当然,更改
wordpress
为您要创建的数据库的实际名称。7 — 将所有数据库导入新数据库
对每个导出的数据库执行此操作,将数据库名称和 SQL 文件替换为正确的名称和 SQL 文件。如果您犯了错误并将文件导入错误的数据库,请不要担心,您可以像这样“修复”它:
mysql -u admin -p
DROP DATABASE whoopsie;
CREATE DATABASE whoopsie CHARACTER SET = utf8 COLLATE = utf8_general_ci;
现在我们可以为之前创建的帐户设置权限:
同样,为每个帐户执行此操作,确保他们可以访问正确的数据库。完成后,刷新权限以确保它们处于活动状态:
现在,在这个阶段,您可以仔细检查所有网站的数据库名称、帐户名称和密码是否正确。如果一切正常,请重新启动您的 Web 服务器并进行测试。
更重要的注意事项:
我会推荐一件事,预先测试。我已经看到很多 MySQL⇢MariaDB 迁移横盘整理,然后人们以疯狂的速度打电话给我来解决问题。测试,测试,测试。MySQL 中的某些东西在 MariaDB 中不能透明地工作。您不希望在迁移过程中发现表需要更改排序规则或导入文件损坏。
如果您有使用虚拟机的经验,那么这些是测试迁移的理想选择。