当前位置:首页 > 行业动态 > 正文

如何将本地MySQL数据库账号密码迁移到RDS for MySQL?

要将本地MySQL迁移到RDS for MySQL,首先需要获取本地数据库的账号和密码,以便在RDS上创建相应的用户并导入数据。

MySQL本地数据库账号密码_本地MySQL迁移到RDS for MySQL

如何将本地MySQL数据库账号密码迁移到RDS for MySQL?  第1张

一、迁移前的准备工作

1、确认源库的 binlog 是否开启

如果未开启,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志,具体步骤如下:

     SET GLOBAL log_bin = 'mysql-bin';
     SET GLOBAL binlog_format = 'ROW';
     FLUSH PRIVILEGES;

如果使用的是 MySQL 5.6 及以上版本,还需要设置:

     SET GLOBAL binlog_row_image = 'FULL';

2、确认源库的 binlog 格式为 row 模式

通过以下命令确认:

     SHOW VARIABLES LIKE 'binlog_format';

如果结果不为ROW,则通过以下命令修改:

     SET GLOBAL binlog_format = 'ROW';

3、确认源库的 binlog 保留时间

确保在迁移期间 binlog 不被自动删除,可以通过以下命令查看和设置:

     SHOW VARIABLES LIKE 'expire_logs_days';
     SET GLOBAL expire_logs_days = 10; -根据需求调整天数

4、确认目标 RDS for MySQL 实例的白名单

确保目标 RDS 实例的白名单中包含了源库的 IP 地址,以便允许数据传输服务 DTS 访问源库。

二、迁移任务配置

1、结构初始化

将源存储空间的数据结构(如表、视图、触发器、存储过程、函数等)同步到目标存储空间,此阶段不会迁移数据。

2、全量数据迁移

将源存储空间的所有存量数据迁移到目标存储空间,在此过程中,源实例的数据变更不会被同步到目标实例。

3、增量数据迁移

全量数据迁移完成后,将源存储空间在全量数据迁移过程中的增量变更数据同步到目标存储空间,确保源存储空间和目标存储空间的数据实时同步。

三、迁移流程

1、创建迁移任务

登录到数据传输控制台。

选择“数据迁移” > “创建迁移任务”,根据向导完成迁移任务的配置。

2、配置迁移任务

填写任务名称、迁移源实例和目标实例的信息。

选择迁移对象和迁移类型(结构迁移、全量数据迁移、增量数据迁移)。

3、启动迁移任务

配置完成后,启动迁移任务,DTS 会按照配置的迁移类型和流程进行数据迁移。

四、迁移限制

1、不支持 DDL 操作:在迁移过程中,不支持对源存储空间进行数据定义语言(DDL)操作。

2、不支持 event 迁移:结构迁移不支持迁移event。

3、对象名映射功能的影响:如果使用了对象名映射功能,依赖这些对象的其他对象可能迁移失败。

4、增量迁移要求:增量迁移要求源库的 binlog 格式为 row,且 binlog_row_image 必须为 full。

五、FAQs

Q1: 如果忘记了本地 MySQL 数据库的 root 用户密码,如何重置?

A1: 可以通过以下步骤重置 root 用户的密码:

1、停止 MySQL 服务:

   sudo systemctl stop mysql

2、启动 MySQL 无权限模式:

   sudo mysqld_safe --skip-grant-tables &

3、连接到 MySQL 数据库:

   mysql -u root

4、执行重置密码的 SQL 语句:

   FLUSH PRIVILEGES;
   ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

5、退出 MySQL 并重启服务:

   EXIT;
   sudo systemctl restart mysql

Q2: 如何查看本地 MySQL 数据库的用户名和密码?

A2: 可以通过以下几种方式查看或重置密码:

1、查看当前用户

   SELECT USER();

2、列出所有用户

   SELECT user, host FROM mysql.user;

3、重置用户密码

   ALTER USER 'your_username'@'localhost' IDENTIFIED BY 'new_password';
   FLUSH PRIVILEGES;

4、检查配置文件:有时密码可能存储在配置文件中,但出于安全考虑,通常不直接存储明文密码。

0