- 浏览: 851994 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zjhzwx1212:
为什么用threadLocal后,输出值是从20开始的,而定义 ...
j2ee的线程安全--threadlocal -
aeoluspu:
不错 mysql 测试部分感觉不详细
用sysbench(或者super-smack)测试mysql性能 -
nanPrivate:
有没有例子,只理论,实践起来还是不会啊
JMS可靠消息传送 -
lwclover:
一个网络工程师 装什么b
postfix 如何删除队列中的邮件 -
maimode:
我也欠缺不少啊
理想的计算机科学知识体系
前提:
master已经运行很长时间了,用同样版本的mysql建立起slave。
第一步:
建立复制账号
GRANT REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO 'repl'@'192.168.1.%' IDENTIFIED BY 'repl_pass';
如果想要在slave上有权限执行"LOAD TABLE FROM MASTER"或"LOAD DATA FROM MASTER"语句的话,必须授予全局
的FILE和SELECT权限(绝对不推荐):
GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.163' IDENTIFIED BY 'rep';
第二步:
确保master有如下配置:
[mysqld] log-bin=mysql-bin server-id=1 expire_logs_days=15
为了保证数据的一致性和可靠性,可以加上以下选 项:
innodb_flush_log_at_trx_commit=1 sync_binlog=1
第三步:
确保slave有如下配置:
server-id=2 log-bin=mysql-bin relay-log=relay-bin relay-log-index=relay-bin log_slave_updates=1 read_only=1 skip_slave_start replicate_wild_do_table=mydb.%
第四步:
获取同步点,第一种方法:
a
mysql> FLUSH TABLES WITH READ LOCK;
不要退出客户端,否则读锁失效!!
b
mysql > SHOW MASTER STATUS; +---------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------+----------+--------------+------------------+ | mysql-bin.003 | 73 | test | manual,mysql | +---------------+----------+--------------+------------------+
此时,仍然不要退出第四步的mysql clients
myisam:
shell> mysqldump --all-databases --lock-all-tables >dbdump.db
innodb:
shell> mysqldump --single-transaction --all-databases --master-data=2 > dbdump.db
获取数据后解锁的语句:
mysql> UNLOCK TABLES;
第五步:在slave上导入数据
登录到slave,导入数据
第六步:开始复制
mysql> CHANGE MASTER TO -> MASTER_HOST='master_host_name', -> MASTER_USER='replication_user_name', -> MASTER_PASSWORD='replication_password', -> MASTER_LOG_FILE='recorded_log_file_name', -> MASTER_LOG_POS=recorded_log_position; -> START SLAVE;
其它有用的选 项:
replicate-do-db=backup
master-connect-retry=10
binlog-do-db=backup
master端:
show master status;—查看状态:
show processlist; –查看slave下mysql进程信息
reset master; #慎用,将清空日志及同步position
set sql_log_bin=0
slave端:
CHANGE MASTER TO MASTER_LOG_FILE=’master.000019′;
show slave status;
show slave logs;
show processlist;
reset slave; #慎用,将清空slave配置信息、日志及同步position
在从服务器上跳过错误事件
mysql>stop slave;
mysql>set global sql_slave_skip_counter = n(跳过主服务器中的接下来的 n
个事件。此命令对于由语句引起的复制终止有效。仅在从服务器线程没运行的时候有效);
mysql>start slave;
mysql 主服务器中同步用户 必须具有 SUPER ,RELOAD,REPLICATION SLAVE 权限
当新加从服务器时,需要先在从库上 load data master; 保证和其他从库数据一致
set global sql_slave_skip_counter=n # 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。
reset master #主机端运行,清除所有的日志,这条命令就是原来的flush master
reset slave #从机运行,清除日志同步位置标志,并重新生成master.info
虽然重新生成了master.info,但是并不起用,最好,将从机的mysql进程重启一下,
load table tblname from master
#从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有
reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和
net_write_timeout的值
load data from master #从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大, 要增加net_read_timeout 和 net_write_timeout的值
change master to master_def_list #在线改变一些主机设置,多个用逗号间隔,比如
change master to
master_host=’master2.mycompany.com’,
master_user=’replication’,
master_password=’bigs3cret’
master_pos_wait() #从机运行
show master status #主机运行,看日志导出信息
show slave hosts #主机运行,看连入的从机的情况。
show slave status (slave)
show master logs (master)
show binlog events [ in 'logname' ] [ from pos ] [ limit [offset,] rows ]
purge [master] logs to ‘logname’ ; purge [master] logs before ‘date’
//显示所有本机上的二进制日志
mysql> SHOW MASTER LOGS;
//删除所有本机上的二进制日志
mysql> RESET MASTER;
//删除所有创建时间在binary-log.xxx之前的
二进制日志
mysql> PURGE MASTER LOGS TO ‘binary-log.xxx’;
//只保留最近6天的日志,之前的都删掉
find /var/intra -type f -mtime +6 -name “*.log” -exec rm -f {} \;
//用键盘左上角(也就是Esc下面)那个键包围起来,说明是命令。-1d
是昨天,以此类推-1m是上个月等等
day=`/bin/date -v -1d +%Y%m%d`;
//给文件改名
mv xxx.log xxx-${day}.log;
//这里还要加上数据库的用户名密码,作用是更新日志(包括二进制日志和查
询日志等等)
mysqladmin flush-logs
发表评论
-
找出mysql中最大的表
2011-08-04 12:41 1688SELECT concat(round(table_rows/ ... -
find 10 largest table in mysql
2010-07-20 11:09 1110SELECT concat(round(table_rows/ ... -
MySQL Back to Basics: Analyze, Check, Optimize, and Repair
2010-07-14 11:35 1191http://www.pythian.com/news/111 ... -
找出mysql中无用的索引
2010-07-13 14:49 1891select t.TABLE_SCHEMA , ... -
xtrabackup timeout bug
2010-06-13 10:21 1092I modified /usr/bin/innobac ... -
Compiling sysbench 0.4.12 for Debian
2010-06-09 10:16 986http://www.randombugs.com/linux ... -
mysql 实用工具集
2010-06-04 00:08 1112这些工具都是从网上搜集来的,对mysql的管理,调优和恢复有很 ... -
gearman for mysql
2010-05-10 18:26 1007http://www.slideshare.net/datac ... -
几个应该被修改的mysql默认值
2010-05-06 15:24 1495wait_timeout = 20 (不适合持久连接) in ... -
How to Perform a Healthcheck on the Database
2010-02-26 10:05 1403http://bbs.chinaunix.net/thread ... -
PostgreSQL与Innodb并发控制大比拼
2010-01-14 11:38 2095http://wangyuanzju.blog.163.com ... -
关于mysql的很好网站
2009-10-21 10:40 951http://www.mysqlperformanceblog ... -
Should you move from MyISAM to Innodb ?
2009-10-17 02:37 1040There is significant portion of ... -
最好的mysql备份工具
2009-08-19 16:45 1216Xtrabackup https://launchpad.n ... -
mysql 增量备份脚本
2009-08-18 09:44 3657根据网上脚本修改而成 mysqlFullBackup.sh ... -
mysql-zrm备份mysql数据库
2009-07-22 13:58 2779MySQL-zrm是用perl脚本写的 ... -
Base: An Acid Alternative
2009-06-18 15:55 1410http://queue.acm.org/detail.cfm ... -
关于innodb插入性能
2009-04-07 10:54 1601根据某网友的测试,innodb在以下条件下插入性能是稳定的: ... -
MySQL主从服务器的一些技巧
2009-03-25 15:18 962http://www.sunnyu.com/?p=150 -
mytop1.6补丁
2009-03-13 17:27 1007mytop是一个实时监控mysql状态的工具,很好用,但是有一 ...
相关推荐
MySQL 主从复制环境搭建 MySQL 是一个轻量级的开源框架,具有速度快、多线程、多用户和跨平台等特点。MySQL 主从复制是指将一个 MySQL 服务器的数据实时同步到另一个 MySQL 服务器上,通常用于提高数据安全、负载...
MySQL5.0主从复制安装,已在生产环境使用,运行正常。 运行环境RedHat5+MySQL5.0 MySQL5.0官方下载地址: http://downloads.mysql.com/archives.php?p=mysql-5.0&o=rhel5%5C..%2A%5C.rpm
9. **复制与集群**:MySQL 5.0支持主从复制,可以将一个服务器的数据实时同步到其他服务器,用于负载均衡和高可用性。虽然5.0版的集群功能相对有限,但仍然可以在一定程度上实现数据冗余和故障转移。 10. **社区...
8. **复制功能**:MySQL 5.0 提供了主从复制功能,允许数据在多个服务器间同步,提高可用性和容错性。 9. **日志系统**:包括二进制日志(用于复制和恢复)和慢查询日志,帮助监控和优化数据库性能。 10. **备份和...
这份“mysql5.0中文使用手册”为那些对英文文档不熟悉的用户提供了一条便捷的学习路径,它涵盖了MySQL 5.0的所有主要功能和操作。 手册可能包括以下内容: 1. **安装与配置**:介绍如何在不同操作系统上安装MySQL ...
MySQL 5.0是世界上最流行的开源关系型数据库管理系统之一,其功能强大且易于使用,尤其在Web应用程序开发中被广泛采用。本使用手册将详细解析MySQL 5.0的各项核心功能,帮助用户从安装配置到实际操作,全面掌握MySQL...
- MySQL的主从复制机制,实现数据冗余和故障恢复。 - MySQL集群的配置和管理,提高系统可用性。 13. **日志系统**: - 错误日志、查询日志、二进制日志的作用和配置。 这份手册对于开发者来说是宝贵的参考资料...
通过深入学习这份MySQL 5.0中文版手册,用户不仅可以熟练掌握MySQL的基本操作,还能进一步了解其高级特性,为日常开发和维护提供坚实的基础。无论你是初学者还是经验丰富的开发者,这份手册都将是你宝贵的参考资料。
6. **更强大的复制功能**:MySQL 5.0的主从复制机制更加稳定,可以实现多线程复制,提高数据同步效率。 7. **XML支持**:MySQL 5.0增加了对XML的内置支持,可以直接在数据库中存储和检索XML文档,方便了与XML数据源...
7. **改进的复制功能**:MySQL 5.0加强了主从复制的稳定性和性能,允许数据在多个服务器之间同步,实现高可用性和负载均衡。 8. **增强的安全性**:包括更好的权限管理,支持SSL加密连接,以及改进的审计日志功能,...
6. 改进的复制功能:增强了主从复制的稳定性和性能,支持多种复制模式,如基于语句的复制和基于行的复制。 7. XML支持:引入了对XML的内建支持,可以更方便地进行XML数据的存取和处理。 二、性能优化 1. 查询优化...
这个“mysql5.0免安装标准版”是专为方便用户快速部署和使用的版本,无需进行繁琐的安装步骤,可以任意复制到计算机的任何路径下运行,大大提升了使用的灵活性。 MySQL 5.0的核心知识点包括: 1. **存储引擎**:...
13. **复制与集群**:MySQL的主从复制使得数据冗余和故障恢复成为可能,而集群技术如InnoDB Cluster提供高可用性和负载均衡。 14. **错误与警告**:手册会列出常见错误代码和警告,帮助用户快速定位和解决问题。 ...
- MySQL 5.0提供了用户权限管理,可以设置不同级别的访问权限,确保数据库的安全。 - 支持加密连接,通过SSL协议增强数据传输的安全性。 4. **性能优化**: - 查询缓存:MySQL 5.0引入了查询缓存,对于重复的SQL...
10. **复制与集群**:MySQL 5.0支持主从复制,用于数据冗余和故障转移,以及MySQL集群,用于高可用性和负载均衡。 11. **存储引擎**:MySQL 5.0引入了InnoDB作为默认存储引擎,支持事务处理和行级锁定。MyISAM是另...
在Windows环境下,MySQL主从同步备份是一种常见的高可用性和数据冗余策略,确保数据的...以上就是Windows环境下MySQL 5.0主从同步备份的详细步骤,确保在配置过程中每个环节都正确无误,以实现高效、可靠的数据库复制。