自建MySQL创建账号并设置binlog
更新时间:2024-05-15
操作场景
当数据迁移任务的源端为自建 MySQL 时,为满足校验项阶段对源库的要求,保障任务的顺利执行,在正式配置任务之前,需要您在自建 MySQL 数据库上创建账号并设置 Binlog。
权限参考
数据迁移的源端为自建 MySQL 时,用于迁移的账号权限如下:
数据库 | 结构迁移 | 全量迁移 | 增量迁移 |
---|---|---|---|
源端 MySQL 版本为 5.1 时 | SELECT,SHOW VIEW,SUPER | SELECT,SHOW VIEW,SUPER | SELECT,SHOW VIEW,SUPER,REPLICATION SLAVE |
源端 MySQL 版本大于或等于 5.5 时 | SELECT,SHOW VIEW,REPLICATION CLIENT | SELECT,SHOW VIEW,REPLICATION CLIENT | SELECT,SHOW VIEW,REPLICATION CLIENT,REPLICATION SLAVE |
操作影响
执行该操作需要重启 MySQL 服务,为避免影响您的业务使用,请在业务低峰期操作。
操作步骤
- 登录自建 MySQL 数据库。
-
在自建 MySQL 数据库中创建用于数据迁移的账号。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明
- username:待创建的账号
- host:允许该账号登录的主机,如果允许该账号从任意主机登录数据库,可以使用百分号(%)。
- password:账号的密码。
-
对账号进行授权操作,所需授予的权限。
-
对账号授予指定库表的权限。
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 命令的权限,该参数为可选。
-
-
开启并设置自建 MySQL 数据库的 binlog,修改配置文件 my.cnf 中的如下参数。
log_bin = mysql_bin binlog_format = row server_id = 2 #建议设置为大于1的整数,此处仅为示例。 binlog_row_image = full #当自建MySQL的版本大于5.6时,则必须设置该项。 expire_logs_days = 3 #修改 binlog 的保留时间,建议大于等于3天
-
修改完成后,重启 MySQL 服务。
/etc/init.d/mysqld restart