好久没来写博客了,发现人都懒了。呵呵!记得去年研究完mysql duplicate之后就懒得再弄,最近把它用在生产环境,发现还不错。数据库安全了很多。
由于mysql网上说集群需要至少要5-6台机器,而且性能提高不大,不适合规模较小的应用。所以我们采用的是主从机方案,可以一定程度上满足要求,从机平时用来作备份,及数据分析,主机用来生产。以下详细记录一下过程,为已后留个记录。
一、首先需要做的是在两台机器上安装mysq,版本要一致,mysql官方说duplicate在不断改进过程中,所以版本要一致。
二、需要确保数据库及表内容一致。我当时直接将生产机上(需要程序都停下来)的所有内容,连数据库,及表,scp拷贝到从机上。
三、在主机上创建主从机专用用户。命令如下:
GRANT REPLICATION SLAVE ON *.* TO 'xxx'@'%192.168.1.57' IDENTIFIED BY 'xxx‘;
FLUSH PRIVILEGES;
四、主机修改配置文件(实际上不修改)
server-id = 1
log-bin=mysql-bin
五、从机修改配置文件
由于从机原来配置也是主机形式,需要注掉上面俩行。
#server-id = 1
#log-bin=mysql-bin
server-id = 2
master-host = 192.168.1.1
master-user = xxx
master-password = xxx
master-port = 3306
report-host = 192.168.1.2
六、启动主从机,查寻状态
SHOW
MASTER STATUS
SHOW SLAVE STATUS
如果主机显示类似如下状态Position不为0,表示正确。
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
|mysql-bin.000006 | 7809 | |
如果发现从机 Last_SQL_Errno, Last_SQL_Error: 出现什么异常,需要设定忽略。
STOP SLAVE
SET GLOBAL SQL_slave_SKIP_COUNTER = n
;
START SLAVE
如果看见如下俩行内容,说明slave从机工作正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
六、其他命令:
显示主机状态命令
SHOW
MASTER STATUS
显示主从状态命令
SHOW SLAVE STATUS
开始从机工作
START SLAVE
停止从机工作
STOP SLAVE
设定跳过
SET GLOBAL SQL_slave_SKIP_COUNTER = n
;
显示连入主机的从机
show slave hosts
七、还找其它配置及命令
配置:
report-host xxx.xxx.xx.xxx 设置之后,主机可以用show slave hosts查到从机
忽略错误
slave-skip-errors=1062,1053
忽略所有错误
slave-skip-errors=all
复制特定数据库(可以设定多个)
replicate-do-db=db_name
忽略
复制特定数据库
replicate-ignore-db=db_name
复制特定表
replicate-do-table=db_name.tbl_name
忽略复制特定表
replicate-ignore-table=db_name.tbl_name
同上但可以加模糊匹配‘%
’和‘_
’
replicate-wild-do-table=db_name.tbl_name
replicate-wild-ignore-table=db_name.tbl_name
参考文档地址:
http://lxqun.blogbus.com/logs/14709048.html
http://dev.mysql.com/doc/refman/5.1/zh/replication.html
分享到:
相关推荐
在配置MySQL 5.6的主从复制时,首先需要确保每台服务器都有一个唯一的标识,这通常通过修改`auto.cnf`文件中的`uuid`值来实现。在Master服务器上,需要开启二进制日志(`log-bin`),这是主从复制的基础,因为它记录...
- **冲突解决策略**:在配置主从复制时,可以设定错误处理策略,如使用`SLAVE_SQL_SKIP_COUNTER`来跳过错误记录,或者配置`max_allowed_packet`参数以适应大记录的传输。 6. **优化主从复制**: - **异步复制**:...
如果在同步过程中遇到1062错误(即Duplicate entry错误),可以在从库的配置文件中设置`slave-skip-errors=1062`,然后重启从库,这样可以跳过导致重复键冲突的错误,但需要注意这可能会导致数据不一致。 总的来说...
5. **改进的复制功能**:MySQL 8.0引入了GTID(全局事务标识符)复制,这是一种自动化的复制方式,可确保在主从复制过程中保持数据的一致性。 6. **更好的备份与恢复**:MySQL 8.0支持在线备份,可以在不中断服务的...
在MySQL的复制环境中,一种常见的配置是主从复制,即一个主服务器将数据更改同步到一个或多个从服务器。本题库中的题目主要涉及到主从复制中的错误处理和GTID(Global Transaction Identifier)的使用。 1. 题目中...
- 引入了GTID(全局事务标识符)的自动管理,简化了主从复制的配置和维护,同时提高了复制的可靠性和一致性。 7. **增强的安全性** - 引入了强密码验证插件,提升了数据库的安全性。此外,还增强了权限管理和审计...
此外,还附带了MySQL 8.0的安装教程Word文档,为初学者提供详尽的指导,以及作者在配置和使用过程中总结的经验,避免用户在实际操作中遇到相同的问题。 首先,让我们详细了解MySQL 8.0的主要特性: 1. **增强的...
6. **改进的复制功能**:MySQL 8.0的复制机制更加强大,支持GTID(全局事务标识符)复制,使得主从同步更加可靠和易于管理。 7. **更灵活的DML语句**:支持ON DUPLICATE KEY UPDATE语句,能在插入新行时更新已存在...
7. **更好的复制功能**:MySQL 8.0的复制功能得到了显著增强,包括GTID(全局事务标识符)复制,使得主从同步更简单且易于管理。 8. **优化的DML操作**:新增的DML语句,如`ON DUPLICATE KEY UPDATE`,允许在插入新...
### MySQL关键工具Percona Toolkit详解 #### Percona Toolkit概述 Percona Toolkit 是一套高级命令行工具集合,专门设计用于简化 MySQL 数据库管理过程中常见的复杂任务。这套工具集可以帮助数据库管理员(DBA)...
MySQL 中可以使用主从复制(Master-Slave Replication)、负载均衡(Load Balancing)、分布式事务(Distributed Transaction)等方法来实现高可用和容灾设计。 MySQL 中如何进行数据迁移和同步? MySQL 中可以...
在Windows环境下,MySQL通常会提供一个图形化的配置工具,简化这些步骤。 在运行MySQL服务后,用户可以通过命令行客户端或者第三方图形界面工具(如MySQL Workbench)来连接和管理数据库。开发人员和DBA可以利用...
7. **增强的复制功能**:MySQL 8.0 引入了GTID(全局事务标识符)复制,提供了更可靠和易于管理的主从复制,可以自动跟踪和同步每个事务,减少了手动干预的需求。 8. **优化的备份与恢复**:MySQL 8.0 支持在线备份...
- 对于 MySQL 8.0.25 的安装和升级过程,可能提供更加平滑和用户友好的体验,包括自动化配置和更好的兼容性测试。 综上所述,MySQL 8.0.25 在多个关键领域进行了改进,包括性能、安全、JSON 支持、复制机制、窗口...
总结来说,InnoDB引擎的MySQL主从复制是一个复杂但至关重要的任务,涉及到多个步骤和注意事项,包括复制机制的理解、权限配置、错误处理以及选择适合的存储引擎。在实践中,正确理解和应用这些概念可以确保高效、...
1. **MySQL主从复制错误处理** - 在一个简单的主从复制环境中,出现了主键重复的错误。在描述中提到的`SHOW SLAVE STATUS`输出显示了`Last_SQL_Error`,说明在从库上执行SQL语句时遇到主键冲突。 - 错误信息是`...
3. **pt-config-diff**:用于比较不同服务器上的 MySQL 配置文件之间的差异。 4. **pt-deadlock-logger**:用于监控 MySQL 死锁情况,并记录下死锁事件,便于后期分析和处理。 5. **pt-diskstats**:提供对 MySQL 表...
MySQL性能优化是一个涵盖广泛的主题,它涉及到数据库设计、SQL查询优化、索引策略、存储引擎选择、服务器配置等多个层面。以下是一些关于MySQL性能优化的关键知识点: 1. **查询优化**: - 使用`EXPLAIN`来分析SQL...
Percona Toolkit为MySQL DBA提供了丰富的工具集,涵盖了数据库开发、性能优化、配置管理、监控等多个方面,极大地简化了日常维护工作,提高了生产环境下的数据库管理效率。熟练掌握并合理利用这些工具,可以显著提高...
然而,`DELAYED`不适用于`INSERT...SELECT`和`INSERT...ON DUPLICATE KEY UPDATE`语句,且在主从复制环境中被忽略,因为它可能导致主从数据不一致。 2. **IGNORE**: `IGNORE`是MySQL的一个非标准扩展,它用于处理...