MySQL Replication 搭建步骤(InnoDB)

一个快速配置步骤:

1) master端:启用binary logging,设置唯一的server ID(需重启)
 例,修改my.cnf为:

[mysqld] 
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1

2) slave端:设置唯一的server ID(需重启)
 例,修改my.cnf为:

[mysqld]
server-id=2

3) master端:创建一个用户帐号,用于复制用途,slave端会使用它连接master获取binlog
 例:

mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

4) master端:暂停应用访问,锁定表禁止改动:
例:

mysql> FLUSH TABLES WITH READ LOCK;
# do not exit this session, otherwise the lock will be released

5) master端:获取当年binlog位置
 例:

mysql > SHOW MASTER STATUS;

6) master端:创建一份数据快照,然后就可以恢复应用 
例1:使用 mysqldump

mysqldump --all-databases --master-data > dbdump.db
mysql> unlock tables;

 
例 2:使用冷备份

mysqladmin shutdown
tar cf /tmp/dbdump.tar ./data
restart master server

7) slave端:将master端的数据快照导入
 例 1:使用 mysqlimport

start slave server using " --skip-slave-start" option
mysql < fulldb.dump

 
例 2:使用冷备份

shutdown slave server
copy backup files from master server
tar xvf dbdump.tar
set correct file permission
start slave server using " --skip-slave-start" option

8) slave端:配置复制,指定master信息
 例:

mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;

9) slave端:启动复制线程
例:

mysql> START SLAVE;

MySQL搭建主从复制主要包括以下几个步骤: 1. **准备**: - 确保主库和从库都是安装了最新版本的MySQL,并且权限管理设置正常。 - 主库需要开启二进制日志(`innodb_log_file_size` 和 `binlog_format` 需要适当调整),以便从库能够读取。 2. **配置主库**: - 登录主库,在`my.cnf`或其他配置文件中设置`server-id`,给主库一个唯一的标识,防止冲突。同时开启`bind-address`允许远程访问。 - 开启二进制日志(`binlog-server-id` 设置为主库ID,`expire_logs_days` 控制保留的日志天数,`log_bin` 设为`ON`)。 3. **创建从库**: - 创建一个新的数据库实例,作为从库。 - 在`my.cnf`中配置从库的相关信息,比如`replicate_do_db`指定哪些数据库要同步,`server-id`设置为一个大于主库的值。 - 关闭从库的`innodb_buffer_pool_size`和`query_cache_size`以减少内存占用,让资源更多地用于复制。 4. **启动复制流程**: - 在从库上,使用`mysqladmin`命令或`GRANT REPLICATION SLAVE` SQL语句授权给从库账号,使其可以从主库复制数据。 - 使用`CHANGE MASTER TO` 或 `START SLAVE` 命令配置从库指向主库的详细信息,如IP地址、端口、用户名、密码和位置信息。 5. **检查并同步数据**: - 执行`SHOW SLAVE STATUS \G` 检查从库的状态,确认是否已经开始同步,查看延迟和错误信息。 - 调整同步速度和策略,如`SLAVE_DELAY` 可以设置同步的滞后时间,`binlog_format` 的选择影响同步效率。 6. **监控与维护**: - 使用监控工具(如Prometheus、Nagios等)持续监控主从复制状态。 - 定期清理过期的二进制日志,避免空间不足导致无法继续复制。 在实际操作过程中,可能会遇到各种问题,例如网络问题、权限问题、磁盘空间不足等,需要逐一排查解决。完成上述步骤后,你的MySQL就已经成功搭建了主从复制结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值