Mysql备份数据库数据
1. .锁定主库的表,备份主库
mysql> flush tables with read lock;
锁定主库表的目的是防止数据备份阶段有数据写入,数据恢复丢失数据
2. 我们需要在[client]部分添加脚本:
- host=localhost
- user=数据库用户
- password=‘数据库密码’
3. 备份数据
mysqldump --master-data=2 --single-transaction -R --triggers -A > /tmp/test.sql
//回到锁表界面,解锁所有表
mysql> unlock tables;
说明:
- master-data=2代表备份时刻记录master的Binlog位置和Position
- single-transaction意思是获取一致性快照
- R意思是备份存储过程和函数
- triggres的意思是备份触发器
- A代表备份所有的库
- 查看更多信息mysqldump --help
4. 将主数据库数据往其他机器拷贝
scp /tmp/test.sql root@192.168.56.104:/tmp/
scp /tmp/test.sql root@192.168.56.105:/tmp/
5. 其他机器导入test.sql并复制参数
mysql -uroot -proot//连接数据库
source /tmp/test.sql //导入数据