要开启MySQL的多线程复制功能,需要进行以下步骤:
server-id = 1
log-bin = mysql-bin
binlog_format = ROW
其中,server-id是服务器的唯一标识,可以在1到4294967295之间选择一个值。log-bin指定二进制日志的文件名前缀,可以自定义。binlog_format设置二进制日志的格式为ROW,这是启用多线程复制的前提条件。
重启MySQL服务。保存并关闭配置文件后,需要重启MySQL服务以使配置生效。
创建复制账号和权限。登录MySQL服务器,执行以下命令创建复制账号,并授予复制权限:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
其中,replicator是复制账号的用户名,password是密码,可以根据实际需要修改。
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
记录下结果中的File和Position字段的值。
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='master_log_file_name',
MASTER_LOG_POS=master_log_position;
其中,master_ip是主数据库的IP地址,replicator和password是在第3步中创建的复制账号的用户名和密码,master_log_file_name和master_log_position是在第4步中记录的主数据库的二进制日志文件位置。
START SLAVE;
以上步骤完成后,MySQL的多线程复制功能就已经开启了。从数据库会自动从主数据库复制数据。可以使用SHOW SLAVE STATUS命令查看复制状态。