写一个mysql主从复制的脚本
时间: 2024-05-15 13:15:23 浏览: 95
docker-compose关于mysql主从复制一键搭建脚本
5星 · 资源好评率100%
以下是一个简单的MySQL主从复制脚本:
主服务器脚本:
```
# 创建复制账号
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password';
# 查看主服务器状态
SHOW MASTER STATUS;
# 记下 File 和 Position 字段的值,备用
# 开启二进制日志
SET GLOBAL binlog_format = 'ROW';
SET GLOBAL binlog_row_image = 'FULL';
SET GLOBAL log_bin = 'mysql-bin';
# 重启MySQL服务
service mysql restart;
```
从服务器脚本:
```
# 停止从服务器服务
service mysql stop;
# 清空从服务器数据
rm -rf /var/lib/mysql/*
# 配置从服务器
cat <<EOF > /etc/my.cnf
[mysqld]
server-id = 2
relay-log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1
read_only = 1
EOF
# 启动从服务器服务
service mysql start;
# 连接主服务器
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1234;
# 启动复制
START SLAVE;
```
注意:在主服务器脚本中,需要将 `replication_user` 和 `password` 替换为实际的复制账号和密码。在从服务器脚本中,需要将 `master_ip` 替换为实际的主服务器 IP 地址,并将 `mysql-bin.000001` 和 `1234` 替换为主服务器状态中的 `File` 和 `Position` 字段的值。
阅读全文