- 浏览: 1051785 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wenson:
lzjzy520 写道 求 项目完整元代码已经够清楚了,看不懂 ...
使用Spring JavaMail发送邮件总结 -
lzjzy520:
求 项目完整元代码
使用Spring JavaMail发送邮件总结 -
xiejx618:
能提高多大的性能? 不能用数据来说话吧希望你能用jmeter做 ...
利用APR本地库提高Tomcat性能 -
mrwalter:
学习了,挺好用的,局域网内速度很快
ssh远程文件传输命令scp -
wcily123:
不错
ssh远程文件传输命令scp
运行环境:
虚拟机安装的是CentOS5
Mysql版本:5.1.31-
log MySQL Community Server (GPL)
操作步骤:
1. 在
主从服务器上分别安装mysql
shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf - shell> ln -s full-path-to-mysql-VERSION-OS mysql shell> cd mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> scripts/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql & |
2. 配
置主服务器
2.1 先登录主机(59.57.251.56)
mysql>grant all on *.* to root@'%' identified by '1234'; --
添加权限(赋予从机权限,有多台丛机,就执行多次) mysql>GRANT All ON *.* TO 'backup'@'%' IDENTIFIED BY 'testbak'; mysql>flush privileges; -- 刷新权限 mysql>select host,user from user; --查看权限 |
2.2 打开
主机A的my.cnf,输入
server-id = 1 #
主机标示,整数 log_bin = /var/log/mysql/mysql-bin.log #确保此 文件可写 read-only =0 #主机,读写都可以 binlog-do-db =test #需要备份数 据,多个写多行 binlog-ignore-db=mysql #不需要备份的数据库,多个写多行 |
2.3 打开从
机B的my.cnf,输入
server-id =2 log_bin =/var/log/mysql/mysql-bin.log master-host =59.57.251.56 master-user =backup master-pass =testbak master-port =3306 master- connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒) replicate-do-db =test #只 复制某个库 replicate-ignore-db=mysql #不复制某个库 |
3. 主从数据
同步
有多种方法:
1) 先mysqldump导出主机A的数据test为 test.sql
然后在从机B上建
立数据库test,mysql导入 test.sql到test库中
2) 如果你想使用复制数据文件的方式来备份数据库
只要在从
服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务
器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。
4. 先重启主机A的
mysql,再重启从机B的mysql
If you get this error File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13) you might want to try and chown -R mysql:mysql /var/log/mysql
5. 验
证
在主机A中,mysql>show master status\G;
在从机B
中,mysql>show slave status\G;
能看到大致这些内容
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.139.77 Master_User: backup Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 106 Relay_Log_File: localhost-relay-bin.000002 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: test Replicate_Ignore_DB: mysql Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 106 Relay_Log_Space: 410 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) |
可
以在主机A中,做一些INSERT, UPDATE, DELETE 操作,看看主机B中,是否已经被修改
6. 相关
注意事项
提示:如果修改了主服务器的配置,记得删除从服务器上数据库目录下的master.info文件。否则从服务器使用的
还是老配置,可能会导致错误。
----------------------------------------------------------------------
注意:
关于要复制多个数据库时,binlog-do-db和replicate-do-db选项的设置,网上很
多人说是用半角逗号分隔,经过测试,这样的说法是错
误的,MySQL官方文档也明确指出,如果要备份多个数据库,只要重复设置相应选项就
可以了。
比如:
binlog-do-db=a binlog-do-db=b replicate-do-db=a replicate-do-db=b |
-----------------------------------------------------------------------
补充:
在从服务器上使用show slave status\G
Slave_IO_Running,
为No,
则说明IO_THREAD没有启动,请执行start slave io_thread
Slave_SQL_Running为
No
则复制出错,查看Last_error字段排除错误后执行start slave sql_thread
查看
Slave_IO_State字段空 //复制没有启动
Connecting to master//没有连接上master
Waiting for master to send event//
已经连上
补充:
可以使用LOAD DATA FROM MASTER语句来建立
slave。但有约束条件:
数据表要全部是MyISAM表,必须有SUPER权限,master的复制用户必须具备RELOAD和SUPER权
限。
在master端执行RESET MASTER清除已有的日志变更,
此时slave端会因为找不到master日志无法启动
IO_THREAD,请清空data目录下
relay-log.info,hosname-relay-bin*等文件重新启动mysql
中
继日志文件默认的文件为hostname-relay-bin.nnn和hostname-relay-bin.index。可用从服务器的--
relay-
log和--relay-log-index选项修改。在从服务器中还有一个relay-log.info中继信息文件,可用
--relay-
log-info-file启动选项修改文件名。
双机互备则是两个mysql同时配置为master及slave
++主
服务器上的相关命令
show master status show slave hosts show logs show binlog events purge logs to ‘log_name’ purge logs before ‘date’ reset master(老 版本flush master) set sql_log_bin= |
++从服务器上的相关命令
slave start slave stop SLAVE STOP IO_THREAD //此线 程把master段的日志写到本地 SLAVE start IO_THREAD SLAVE STOP SQL_THREAD //此线程 把写到本地的日志应用于数据库 SLAVE start SQL_THREAD reset slave SET GLOBAL SQL_SLAVE_SKIP_COUNTER load data from master show slave status(SUPER,REPLICATION CLIENT) CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= // 动态改变master信息 PURGE MASTER [before 'date'] 删除master端已同步过的日志 |
++
产生了mysql-bin.00000x文件可以删除
相
关链接
http://www.ningoo.net/html/2007/mysql_replication_configuration.html
http://leftleg.hzpub.com/post/645/
http://blog.zhangjianfeng.com/article/705
http://blog.chinaunix.net/u/10047/showart_336011.html
http://www.d5s.cn/archives/95
发表评论
-
mysql主从同步报错故障处理总结 [数据库技术]
2015-12-14 13:37 4557前言 在发生故障切换后,经常遇到的问题就是同步报错,数据 ... -
MySQL Replication 主从同步原理及配置
2014-11-07 11:35 3260MySQL的Replication是一种多个MySQL的数据 ... -
关于MySQL 查询表数据大小的总结
2014-09-18 18:14 5043一:关于mysql表数据大小 我们知道mysql存储数据文 ... -
MySQL使用Event定时执行任务
2013-11-07 10:56 7126一、基本概念 mysql5 ... -
MySQL grant 语法的详细解析(帐号权限管理)
2013-10-09 16:31 1436记录一下mysql grant的一些用法。MySQL数据库 ... -
MySQL函数不能创建的解决方法
2013-09-18 11:34 1236在使用MySQL数据库时,有时会遇到MySQL函数不能创建的 ... -
mysql里的SUBSTRING
2013-09-16 11:23 1300截取字符串 substring(str, pos) subst ... -
MYSQL EVENT 使用手册
2012-10-15 19:28 1043一、前言 自MySQL5.1.6起,增加了一个非常有特 ... -
备忘:mysql备份的帐号权限
2012-01-13 04:55 1955mysql备份的帐号权限,只需要:show databases ... -
怎样用命令查看Mysql数据库大小?
2011-12-14 01:51 53461、进去指定schema 数据库(存放了其他的数据库的信息) ... -
解决InnoDB出现“the table is full”的问题
2011-12-09 02:40 1737最近数据库数据量及访问频率比较大的两个表出现了the tabl ... -
mysql从服务器出现的错误解決方法:Slave_SQL_Running: No(主-从)
2011-10-19 00:16 25441、出现错误提示、 Slave I/O: ... -
spring+atomikos+JTA多數據源配置
2011-05-06 22:54 2610spring+atomikos+JTA多數據源配置中,需要注意 ... -
设置mysql5的master-master同步复制机制
2011-03-29 04:05 1797Setting Up Master-Master Repl ... -
mysql innodb数据库的优化
2011-01-12 19:48 3156硬件概況: linux服务器 ... -
Mac OS X 中mysql的配置文件my.cnf的位置
2010-10-10 21:33 24139OS X 系统安装的mysql默认是不用my.cnf配置文件的 ... -
监控sql执行性能的工具:jdbmonitor
2010-02-16 01:18 1926一个用来监控sql执行性能的工具:jdbmonitor ... -
使用mysqlsla分析mysql日志
2009-12-12 03:53 2694mysqlsla是hackmysql.com推出的一款My ... -
持久层的数据库锁控制
2009-12-05 09:51 4050网站最近并发访问量增多,log常一旦抛出以下异常: Caus ... -
在linux里定时备份mysql
2009-11-26 01:56 17961、导出远程mysql数据库到本地成为sql文件: file ...
相关推荐
### Linux下Mysql双机备份 #### 双机热备机制概述 在处理大量数据时,MySQL数据库的备份成为一项挑战。尽管MySQL不支持增量备份,但提供了另一种解决方案——主从备份机制,允许将主数据库的数据实时同步到备份...
### MySQL双机热备份知识点详解 #### 一、MySQL双机热备份概念 **双机热备份**(Hot Standby)是指在两台服务器之间通过数据同步的方式保持数据的一致性,一旦主服务器出现故障,备服务器能够迅速接管服务,确保...
因此,通过Keepalived实现的MySQL双机热备方案旨在提供无缝切换的高可用性,确保在主服务器故障时,备份服务器能立即接管服务,避免数据丢失或服务中断。 二、Keepalived简介 Keepalived是一款基于VRRP协议的高可用...
MySQL双机热备方案是一种高可用性架构设计,旨在确保数据库服务在一台服务器故障时能够无缝切换到另一台服务器,从而避免数据丢失和业务中断。以下是对该方案的详细解释: 1. **主主复制配置** 主主复制是双机热备...
总的来说,MySQL双机热备份方案通过主从复制提供了一种有效保障数据安全和业务连续性的方法,适用于对数据高可用性和即时性有严格要求的环境。不过,实施过程中需要注意版本兼容性、网络稳定性以及合理的监控和管理...
MySQL双机热备是一种高可用性(High Availability, HA)解决方案,旨在确保关键业务服务的连续性。它通过在两台服务器之间建立实时数据同步来实现,当主服务器发生故障时,备用服务器能够无缝接管服务,避免服务中断。...
服务器双机热备份方案 服务器双机热备份方案是指通过双机热备软件对计算机的操作系统、网络系统和数据库进行实时检测,当其中任何一个系统出现问题时,双机软件能自动运行到备用服务器上,让备用服务器接管主机的...
**MySQL双机热备**是一种通过配置使得两台MySQL服务器之间能够实时同步数据的技术方案,从而实现高可用性和故障转移的能力。该技术可以确保在一台服务器发生故障时,另一台服务器能够立即接管服务,以减少数据丢失和...
通过这样的双机热备份方案,可以显著提高MySQL数据库服务的可靠性,防止单点故障导致的数据丢失或服务中断。对于那些重视数据安全和系统稳定性的企业来说,这是一个值得考虑的解决方案。同时,由于MySQL的开源特性,...
MySQL双机热备是一种高可用性解决方案,旨在确保数据库服务在一台服务器故障时能够迅速切换到另一台服务器,从而避免数据丢失和业务中断。以下是一个详细的配置步骤: 1. **MySQL安装** - 首先,下载MySQL的安装包...
在本压缩包“mysql.rar_MYSQL”中,包含了与MySQL双机备份相关的资源,这对于那些需要确保数据高可用性和持续服务的企业至关重要。 双机备份,也称为冗余或热备,是一种常见的数据库高可用性解决方案。它涉及在两台...
MySQL 双机热备是一种高可用性解决方案,确保在一个系统发生故障时,另一个系统能够立即接管服务,保证数据的连续性和一致性。该技术主要依赖于MySQL的复制功能,通过实时捕获主服务器的更新日志并应用到备用服务器...
总之,MySQL双机热备是一种常见的高可用性解决方案,通过实时数据复制确保了数据库服务的持续可用性。在实际部署中,需要注意网络稳定性、安全性以及合理的故障切换策略,以实现高效、安全的数据库热备份。
MySQL双机热备是一种高可用性解决方案,它能够实现在主服务器出现故障时,备服务器能够迅速接管服务,从而保证业务系统的连续运行。本篇文章将详细介绍如何在Windows环境下通过简单的配置实现MySQL的双机热备。 ###...
MySQL双机配置是一种高可用性解决方案,用于确保数据库服务在一台服务器出现故障时,能够无缝地切换到另一台服务器上,以保持业务连续性。这种配置通常涉及到主从复制、负载均衡以及故障切换机制。 一、主从复制 ...