MYSQL 主从数据库同步
来源:互联网 发布:如何屏蔽网络监控 编辑:程序博客网 时间:2024/04/30 23:45
MYSQL可以实现将主服务器的数据自动同步到从服务器中,master,salve服务器
1、搭建环境:
主服务器::172.16.3.180
从服务器::172.16.68.154
操作系统:主服务器为Windows Server 2003,从服务器为Windows XP
MYSQL 版本为5.5
备份数据库:backup
2、master服务器配置:
#启用二进制日志功能。log-bin=mysql-bin#服务器编号。server-id = 1#只把给定数据库里的变化情况记入二进制日志文件。(如果对多个数据库保存日志,那么可以用多行来表示。)binlog-do-db=backup#不把给定数据库里的变化情况记入二进制日志文件。(如果忽略多个数据库的日志保存,那么可以用多行来表示。)binlog-ignore-db=mysql#每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。#默认设置是n=0,意思是由操作系统来负责二进制日志文件的同步工作。sync_binlog=1
3、salve服务器配置:
#服务器编号(不可以跟主服务器的编号相同。)server-id = 2log-bin=slave-bin#启用从属服务器上的日志功能,使这台计算机可以用来构成一个镜像链(A->B->C)log-slave-updates#从库是否只读,0表示可读写,1表示只读read-only=1#只复制某个表#replicate-do-table=tablename#只复制某些表(可用匹配符)#replicate-wild-do-table=tablename%#只复制某个库(如果对多个数据库做同步,那么可以用多行来表示。)replicate-do-db = backup#只复制某些库#replicte-wild-do-db=dbname%#不复制某个表#replicate-ignore-table=tablename#不复制某些表#replicate-wild-ignore-table=tablename%#不复制某个库(如果忽略多个数据库的同步,那么可以用多行表示。)replicate-ignore-db=mysql#复制完的sql语句是否立即从中继日志中清除,1表示立即清除relay-log-purge = 1#从服务器主机,用于show slave hosts生成从库清单report-host=slave-1#即不管发生什么错误,镜像处理工作也继续进行slave-skip-errors=all#每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。#默认设置是n=0,意思是由操作系统来负责二进制日志文件的同步工作。sync_binlog=1
4、在master服务器上授权可以同步的salve服务器以及对应账号:
GRANT REPLICATION SLAVE ON *.* TO root@172.16.68.154 IDENTIFIED BY 'root';
说明:root 账号 root 密码 172.16.68.154 是salve服务器地址
5、锁定master服务器上的数据库并备份master上的同步数据库
mysql> flush tables with read lock;
同步方式有很多,可以直接拷贝的方式,也可以通过命令行的方式,注意,如果用拷贝的方式需要关闭mysql服务
6、slave服务器的配置
首先查看master服务器上的文件以及位置:
mysql> show master status;
+------------------+----------+--------------------+-----------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------------+-----------------------+
| mysql-bin.000001 | 98 | backup | mysql |
+------------------+----------+--------------------+-----------------------+
在slave上配置:
mysql> CHANGE MASTER TO
-> MASTER_HOST='172.16.3.180',
-> MASTER_USER='root',
-> MASTER_PASSWORD='root',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=98;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
将master服务器解锁
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
7、检查同步结果
mysql>show slave status /G;
如果下面三项显示为这样,则表示已经启动正常。
Slave_IO_State: Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
- Mysql 主从数据库同步
- MySQL主从数据库同步
- MYSQL 主从数据库同步
- MYSQL 主从数据库同步
- mysql数据库主从同步
- Mysql 主从数据库同步
- MySQL数据库主从同步
- Mysql数据库主从同步
- MySQL数据库主从同步
- mysql主从数据库同步
- MySQL主从数据库同步
- mysql数据库主从同步
- mysql 主从数据库同步
- mysql数据库主从同步
- mysql数据库主从同步
- MySQL数据库主从同步
- mysql数据库主从同步
- MYSQL主从数据库同步备份
- 单模多模 差别 和波长
- pl/sql 取小时
- 补码的加减运算
- USB的VID和PID,以及分类(Class,SubClass,Protocol)
- socket error 10053,10054究竟是怎么引起的
- MYSQL 主从数据库同步
- E-R图--我的错误认知
- careercup1.2: reverse a C-Style String.
- SQL批量添加数据库中所有用户数据表描述
- Eclipse小项目放到OA系统的实施
- 一行代码,浏览器变临时编辑器
- I2C总线原理及应用实例
- 统计某元素或者某行(列)出现的次数
- 获取identity的几种方法