介绍
将本地 MySQL 数据库迁移到 Vultr Managed Databases for MySQL 是一种很好的做法,可以实现远程访问、提高安全性、高可用性、最少的维护和数据库管理。
在本文中,您将了解怎样将本地 MySQL 数据库迁移到 Vultr 托管数据库集群。
先决条件
要成功迁移数据库,您需要:
在 Vultr 部署托管 MySQL 集群
有一个现有的本地 MySQL 数据库服务器可以导出。
有一个本地 MySQL 用户
SELECT
,VIEW
,TRIGGER
, 和LOCK TABLES
本地数据库的权限。
导出 MySQL 数据库
mysqldump
是一个备份实用程序,它以 SQL 语句的形式存储 MySQL 数据库,用于在执行时复制原始数据库。 在本节中,您会将单个数据库备份到文件并将其导入托管数据库。
登录到本地 MySQL 数据库服务器。 代替
dbuser
与您的实际数据库用户。$ mysql -u dbuser -p
显示数据库,并记下您打算导出的数据库名称。
SHOW DATABASES;
Exit MySQL控制台。
EXIT
停止使用本地数据库的所有服务,以防止在导出期间进行修改。 使用本地数据库的服务将在迁移过程中离线。
使用
mysqldump
实用程序,将单个数据库导出到文件。$ mysqldump -u dbuser -p example-database > localdb.sql
要导出所有数据库,请运行以下命令:
$ mysqldump -u dbuser -p --all-databases > Alldb-backup.sql
导出可能需要一些时间才能完成,具体取决于您的数据库大小。
可选:使用 PHPMyAdmin 导出
如果您更喜欢使用 PHPMyAdmin 而不是 MySQL 客户端工具,请按如下方式导出数据库:
登录到 PHP MyAdmin
https://127.0.0.1/phpmyadmin
从左侧导航面板中选择您的目标数据库。
点击 出口 在顶部导航菜单上。
选择您想要的导出方式, 快的 或者 风俗.
点击 去 开始导出和下载数据库文件。
记下下载的文件位置。 您将使用 MySQL 客户端工具将数据库导入您的 Vultr 托管数据库。
将保存的数据库转储导入 Vultr 托管数据库
列出目录中的文件并确认导出的数据库转储可用。
$ ls
登录到您的托管数据库。
$ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
如果连接失败,请在导入命令中验证以下参数。
-H – 定义 Vultr 数据库主机名。
-P – 设置连接数据库主机的端口号。
-u – 设置应导入数据库的数据库用户。
-p – 为用户打开访问数据库服务器的密码验证。
创建一个与旧数据库同名的新数据库。
CREATE DATABASE example;
Exit MySQL控制台。
EXIT
使用 MySQL 客户端,将数据库导入您的托管数据库。
$ mysql -h host.vultrdb.com -P <port> -u vultradmin -p --database=example-database < localdb.sql
这将重建使用
--database=
旗帜。数据库导入完成后,登录到您的托管数据库。
$ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
切换到数据库。
USE example-database;
显示表格并验证所有数据是否存在。
SHOW tables;
Exit 控制台。
EXIT
重新创建 MySQL 数据库用户
登录到本地数据库服务器。
$ mysql -u dbuser -p
查看所有 MySQL 用户。
SELECT user,host FROM mysql.user;
显示授予每个用户对数据库的权限。 为了 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)
Exit MySQL控制台。
EXIT
登录到您的托管数据库。
$ mysql -h dbhost.vultrdb.com -P <port> -u vultradmin -p
创建所有数据库用户。
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password';
当登录到 Vultr Managed Database for MySQL 时,它被称为 本地主机.
为用户分配正确的数据库权限。
GRANT ALL PRIVILEGES ON `example-database`.* TO `dbuser`@`localhost`;
刷新 MySQL 的权限。
FLUSH PRIVILEGES;
Exit 控制台。
EXIT
下一步
您已将本地 MySQL 数据库迁移到 MySQL 的 Vultr 托管数据库。 接下来,更新应用程序中的连接详细信息以使用新数据库。 因为您在新数据库中创建了相同的用户和密码,所以您只需更改数据库连接字符串即可使用新的托管数据库。
文章标题 名称(可选) 电子邮件(可选) 描述
发送建议
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com