怎样将本地 MySQL 数据库迁移到 Vultr 托管数据库

介绍

将本地 MySQL 数据库迁移到 Vultr Managed Databases for MySQL 是一种很好的做法,可以实现远程访问、提高安全性、高可用性、最少的维护和数据库管理。

在本文中,您将了解怎样将本地 MySQL 数据库迁移到 Vultr 托管数据库集群。

先决条件

要成功迁移数据库,您需要:

  • 在 Vultr 部署托管 MySQL 集群

  • 有一个现有的本地 MySQL 数据库服务器可以导出。

  • 有一个本地 MySQL 用户 SELECT, VIEW, TRIGGER, 和 LOCK TABLES 本地数据库的权限。

导出 MySQL 数据库

mysqldump 是一个备份实用程序,它以 SQL 语句的形式存储 MySQL 数据库,用于在执行时复制原始数据库。 在本节中,您会将单个数据库备份到文件并将其导入托管数据库。

  1. 登录到本地 MySQL 数据库服务器。 代替 dbuser 与您的实际数据库用户。

     $ mysql -u dbuser -p
    
  2. 显示数据库,并记下您打算导出的数据库名称。

     SHOW DATABASES;
    
  3. Exit MySQL控制台。

     EXIT
    
  4. 停止使用本地数据库的所有服务,以防止在导出期间进行修改。 使用本地数据库的服务将在迁移过程中离线。

  5. 使用 mysqldump 实用程序,将单个数据库导出到文件。

    $ mysqldump -u dbuser -p example-database > localdb.sql
    

    要导出所有数据库,请运行以下命令:

    $ mysqldump -u dbuser -p --all-databases > Alldb-backup.sql
    

    导出可能需要一些时间才能完成,具体取决于您的数据库大小。

可选:使用 PHPMyAdmin 导出

如果您更喜欢使用 PHPMyAdmin 而不是 MySQL 客户端工具,请按如下方式导出数据库:

  1. 登录到 PHP MyAdmin

     https://127.0.0.1/phpmyadmin
    
  2. 从左侧导航面板中选择您的目标数据库。

  3. 点击 出口 在顶部导航菜单上。

  4. 选择您想要的导出方式, 快的 或者 风俗.

  5. 点击 开始导出和下载数据库文件。

记下下载的文件位置。 您将使用 MySQL 客户端工具将数据库导入您的 Vultr 托管数据库。

将保存的数据库转储导入 Vultr 托管数据库

  1. 列出目录中的文件并确认导出的数据库转储可用。

    $ ls
    
  2. 登录到您的托管数据库。

    $ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
    

    如果连接失败,请在导入命令中验证以下参数。

    -H – 定义 Vultr 数据库主机名。

    -P – 设置连接数据库主机的端口号。

    -u – 设置应导入数据库的数据库用户。

    -p – 为用户打开访问数据库服务器的密码验证。

  3. 创建一个与旧数据库同名的新数据库。

    CREATE DATABASE example;
    
  4. Exit MySQL控制台。

    EXIT
    
  5. 使用 MySQL 客户端,将数据库导入您的托管数据库。

    $ mysql -h host.vultrdb.com -P <port> -u vultradmin -p --database=example-database < localdb.sql
    

    这将重建使用 --database= 旗帜。

  6. 数据库导入完成后,登录到您的托管数据库。

    $ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
    
  7. 切换到数据库。

    USE example-database;
    
  8. 显示表格并验证所有数据是否存在。

    SHOW tables;
    
  9. Exit 控制台。

    EXIT
    

重新创建 MySQL 数据库用户

  1. 登录到本地数据库服务器。

    $ mysql -u dbuser -p
    
  2. 查看所有 MySQL 用户。

    SELECT user,host FROM mysql.user;
    
  3. 显示授予每个用户对数据库的权限。 为了 example, dbuser.

    SHOW GRANTS FOR 'dbuser'@'localhost';
    

    记下权限,或复制输出中列出的 GRANT 语句,如下所示。

    +--------------------------------------------------------------------------------------------------------------+
    
    | Grants for [email protected]                                                                                   |
    
    +--------------------------------------------------------------------------------------------------------------+
    
    | GRANT USAGE ON *.* TO `dbuser`@`localhost` IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
    
    | GRANT ALL PRIVILEGES ON `example-database`.* TO `dbuser`@`localhost`                                                |
    
    +--------------------------------------------------------------------------------------------------------------+
    
    2 rows in set (0.000 sec)
    
  4. Exit MySQL控制台。

    EXIT
    
  5. 登录到您的托管数据库。

    $ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
    
  6. 创建所有数据库用户。

    CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password';
    

    当登录到 Vultr Managed Database for MySQL 时,它被称为 本地主机.

  7. 为用户分配正确的数据库权限。

    GRANT ALL PRIVILEGES ON `example-database`.* TO `dbuser`@`localhost`;
    
  8. 刷新 MySQL 的权限。

    FLUSH PRIVILEGES;
    
  9. Exit 控制台。

    EXIT
    

下一步

您已将本地 MySQL 数据库迁移到 MySQL 的 Vultr 托管数据库。 接下来,更新应用程序中的连接详细信息以使用新数据库。 因为您在新数据库中创建了相同的用户和密码,所以您只需更改数据库连接字符串即可使用新的托管数据库。

文章标题 名称(可选) 电子邮件(可选) 描述

发送建议

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com