数据库作业(3)

本文详细介绍了如何通过两台虚拟机实现MySQL主从同步配置的过程,包括主库和从库的设置步骤,如开启binlog、建立同步账号、锁表设置、备份数据等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备两台虚拟机

一、主库配置
(1)设置server-id值并开启binlog参数[mysqld]

vim /etc/my.cnf
log_bin = mysql-bin 
server_id = 120

重启数据库:systemctl restart mysqld
(2) 建立同步账号

mysql> grant replication slave on *.* to 'rep'@'192.168.95.%' identified by '123456';

mysql> show grants for 'rep'@'192.168.95.%';

(3)锁表设置只读

为后面备份准备,注意生产环境要提前申请停机时间;

mysql> flush tables with read lock;
提示:如果超过设置时间不操作会自动解锁。

mysql> show variables like ‘%timeout%’; 测试锁表后是否可以创建数据库

(4) 查看主库状态,即当前日志文件名和二进制日志偏移量

mysql> show master status;
(5) 备份数据库数据

mkdir /backup
mysqldump -uroot -p -A -B |gzip > /backup/mysql_bak.$(date +%F).sql.gz

(6) 解锁

mysql> unlock tables;
(7) 主库备份数据上传到从库

 scp /server/backup/mysql_bak.2015-11-18.sql.gz 192.168.95.130:backup/
二、从库上设置
(1)设置server-id值并关闭binlog参数

vim /etc/my.cnf

#log_bin = /data/mysql/data/mysql-bin 

server_id = 130

重启数据库
(2) 还原从主库备份数据

cd /server/backup/

gzip -d mysql_bak.2015-11-18.sql.gz

mysql -uroot -p < mysql_bak.2015-11-18.sql

检查还原:

mysql -uroot -p -e 'show databases;'
(3) 设定从主库同步

mysql> change master to 

MASTER_HOST='192.168.95.120', 

MASTER_PORT=3306, MASTER_USER='rep', 

MASTER_PASSWORD='123456', 

MASTER_LOG_FILE='mysql-bin.000003', 

MASTER_LOG_POS=329;


(4) 启动从库同步开关

mysql> start slave;
检查状态:

mysql> show slave status\G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值