mysql 主从数据库备份
- 主数据库 备份数据
sudo mysqldump -uroot -p --all-databases --lock-all-tables > ./master_db.sql
- 备份数据上传到从服务器
scp master_db.sql docker@172.31.97.42:/home/docker/
- 从数据库同步数据
sudo mysql -uroot -p < master_db.sql
- 修改主数据库master 配置
server-id = 41 log_bin = /var/log/mysql/mysql-bin.log binlog_format = mixed
- 修改从数据库slave 配置
server-id = 42 log_bin = /var/log/mysql/mysql-bin.log binlog_format = mixed
- 重启数据库 master,slave
sudo service mysql restart
- 主数据库Master 添加 backup账户 密码 backup
CREATE USER 'backup'@'%' IDENTIFIED BY 'backup'; GRANT REPLICATION SLAVE ON . TO 'backup'@'10.0.0.%' IDENTIFIED BY 'backup';
- 查看主数据库Master 二进制日志信息
sudo mysql -uroot -p show master status; File 为使用的日志文件名字,Position 为使用的文件位置,这两个参数 须记下,配置从服务器时会用到。
- 进入从数据库slave 绑定主数据库信息
mysql -uroot -p
- 如果以前执行过配置的话要停止
stop slave
- 设置连接到 master 主服务器:
change master to master_host='172.31.97.41',master_port=3306,master_user='backup',master_password='backup',master_log_file='mysql-bin.000008',master_log_pos=154;
master_host:主服务器 Ubuntu 的 ip 地址 master_log_file: 前面查询到的主服务器日志文件名 master_log_pos: 前面查询到的主服务器日志文件位置
开启同步,查看同步状态
start slave;
show slave status \G;
可参考 【1. 主从数据库】 【2. 主主数据库】