为自建MySQL创建账号并设置binlog

更新时间:2025-04-21 08:40:57

当您DTS任务的源库为自建MySQL时,为满足预检查阶段对源库的要求,保障任务的顺利执行,在正式配置之前,您需要在自建MySQL数据库上创建账号并设置binlog。

适用场景及权限参考

场景

权限参考

场景

权限参考

源库为自建MySQL,且要执行增量数据迁移。

  • 待迁移对象的SELECT权限。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW权限。

  • 建库建表的权限,以允许DTS创建库test,用于推进Binlog位点。

数据同步的源库为自建MySQL。

  • 待同步对象的SELECT权限。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW权限。

  • 建库建表的权限,以允许DTS创建库test,用于推进Binlog位点。

数据订阅的源库为自建MySQL。

  • 待订阅对象的SELECT权限。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW权限。

  • 建库建表的权限,以允许DTS创建库test,用于推进Binlog位点。

影响

执行该操作需要重启MySQL服务,为避免影响您的业务使用,请在业务低峰期操作。

操作步骤

  1. 登录自建MySQL数据库。

  2. 在自建MySQL数据库中创建用于数据迁移/同步的账号。

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    说明
    • username:待创建的账号。

    • host:允许该账号登录的主机,如果允许该账号从任意主机登录数据库,可以使用百分号(%)。

    • password:账号的密码。

    例如,创建一个账号,账号名为dtsmigration,密码为Dts123456,并允许从任意主机登录数据库,命令如下。

    CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';
  3. 对账号进行授权操作,所需授予的权限请参见适用场景及权限参考

    • 对账号授予指定库表的权限。

      GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    • 对账号授予建库建表的权限。

      GRANT CREATE ON *.* TO 'username'@'host' WITH GRANT OPTION;
    说明
    • privileges:授予该账号的操作权限,如SELECT、INSERT、UPDATE等,如果要授予该账号所有权限,则使用ALL。

    • databasename:数据库名。如果要授予该账号具备所有数据库的操作权限,则使用星号(*)。

    • tablename:表名。如果要授予该账号具备所有表的操作权限,则使用星号(*)。

    • username:待授权的账号。

    • host:允许该账号登录的主机,如果允许该账号从任意主机登录,则使用百分号(%)。

    • WITH GRANT OPTION:授予该账号使用GRANT命令的权限,该参数为可选。

    例如,授予dtsmigration账号具备所有数据库和表的所有权限,并允许从任意主机登录数据库,命令如下。

    GRANT ALL ON *.* TO 'dtsmigration'@'%';
  4. 开启并设置自建MySQL数据库的binlog。

    • Linux操作系统操作步骤如下:

      1. 使用vim命令,修改配置文件my.cnf中的如下参数。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 #建议设置为大于1的整数
        binlog_row_image=full #当自建MySQL的版本大于5.6时,则必须设置该项。
      2. 修改完成后,重启MySQL进程。

        /etc/init.d/mysqld restart
        说明

        您也可以根据实际情况,使用其他命令或方式进行重启。

    • Windows操作系统操作步骤如下:

      1. 修改配置文件my.ini中的如下参数。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 #建议设置为大于1的整数
        binlog_row_image=full #当自建MySQL的版本大于5.6时,则必须设置该项。
      2. 修改完成后,重启MySQL服务。

        说明

        您可以通过Windows中的服务管理器重启服务,或使用如下命令重启服务:

        net stop mysql
        net start mysql
  • 本页导读 (1)
  • 适用场景及权限参考
  • 影响
  • 操作步骤
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等