mysql主从配置

MySQL主从复制(8)工作中主从复制

白昼怎懂夜的黑 提交于 2019-12-01 09:45:17
一、生产环境主从库同步配置注意事项 1、第一次做从库如何做?     1)申请设备资源,用来做从库服务器。     2)撰写方案文档和实施步骤。     加入你的服务器只有主库,而且已经跑了生产线上应用了,现在由于业务需要第一次做从库,此时可能需要和公司申请停机维护时间(要确认这个时间段内可以做一次全备),即在用户访问量小,且不影响内部其他业务运转的时间点来停机(包括锁表)配置主从复制,一般都是凌晨进行。注意:停机(锁表,停库)的最小时间段,为锁表后备份的时间,也就是说无需等待主从配置好。     当然,也可以不申请停机时间,在定时任务备份时,每天的夜里的定时备份时做一些措施即可实现,见 2。 2、无需熬夜在工作时间轻松配置从库     当然了,也可以不申请停机时间,在定时任务备份时,每天的夜里服务里压力小时刻定时备份时做一些措施即可,如:模拟主从同步的步骤,获得 全备及全备过程中binlog位置的信息或者直接用 --master-data 参数解决。     1)一键做主从复制脚本     (1)锁表备份全备一份。     (2)锁表前后取得 show master status 值记录日志里。       这样就可以在白天从容的实现主从同步了。这个脚本还是很容易实现的,如:       脚本方法1:(这个脚本可能存在问题,就是 show master status 之后可能退出

mysql多种备份与恢复方式一

旧时模样 提交于 2019-12-01 09:14:22
基于mysql社区版5.7,严重声明:本文中图方便直接写入了-p数据库密码,在生产环境中如果指定了一定要使用history -C清空历史命令记录哦,所有博客作者原创纯手打,转载一定要注明本博客链接,感谢! 通过mysqldump方式进行备份和恢复 物理备份:拷贝mysql下的数据目录将其备份即为物理备份。 逻辑备份:使用mysqldump进行备份可以进行逻辑备份。 完全备份:备份所有数据。 增量备份:备份上次备份后,所有新产生的数据。 差异备份:备份完全备份后,所有产生的数据。 mysqldump -uroot -ppassword 库名 > /目录/备份文件名.sql #使用mysqldump逻辑备份时会自动锁表,导致数据无法写入。正好可以使用这一特性,组合--flush-logs刷新binlog日志,这样 #可以使得备份完成后刷新日志,对日志进行断点。可以在出现故障的第一时间使用备份后开始的binlog进行恢复,可以提升一部分效率。 备份时库名表示方式: * --all-databases 或 -A //备份所有库 * 数据库名 //备份单个库 * 数据库名 表名 //单张表 * -B 数据库1 数据库2 //多个库 mysql -uroot -ppassword [库名] < 目录/xxx.sql 通过binlog日志进行恢复 ​ binlog日志也称作二进制日志

(转!)MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法

半腔热情 提交于 2019-12-01 08:08:21
不要贪快,以你的聪明,只要有耐心,什么事不成,你真的争口气,羞羞这势力的世界也好!                    --久节奏,慢读书 转自: https://www.cnblogs.com/susuyu/archive/2013/05/28/3104249.html 环境: linux,mysql5.5.21 错误: Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因:   同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞; 解决方法: 1、提高允许的max_connection_errors数量(治标不治本):   ① 进入Mysql数据库查看max_connection_errors: show variables like '%max_connection_errors%';   ② 修改max_connection_errors的数量为1000: set global max_connect_errors = 1000;   ③ 查看是否修改成功: show variables like '%max_connection_errors%'; 2、使用

mysql中间件分享(Mysql-prxoy,Atlas,DBProxy,Amoeba,cobar,TDDL)

非 Y 不嫁゛ 提交于 2019-12-01 07:40:49
hello 各位小伙伴大家好,我是小栈君,这期我们分享关于mysql中间件的研究,也就是数据层的读写分离和负载均衡,希望能够在实际的应用中能够帮助到各位小伙伴。 下期我们将继续分享go语言的系列讲解,以及以后的生活中我们也将会分享系列课程包括大数据、人工智能、区块链等等,希望大家能够多多学习和分享给身边的小伙伴,我们一起进步和成长。 mysql-proxy MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤。 从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明MySQL Proxy更强大的一项功能是实现“读写分离”,基本原理是让主数据库处理事务性查询。 它的执行流程如图所示: 让从库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从库。 mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。 官网: https://downloads.mysql.com/archives/proxy/ 下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。

MySQL复制从库建立-mysqldump方式

我们两清 提交于 2019-12-01 07:20:29
环境准备: master:192.168.0.106:3306 slave:192.168.0.105:3306 主和从都必须配置有唯一的ID(server_id:建议ip最后一组+MySQL端口号,例如:1063306,1053306) 采用gtid模式复制,需要配置mysqld开启以下两个参数 1 gtid_mode=ON 2 enforce-gtid-consistency=ON 操作步骤: 1、在master创建用于复制的账号 1 mysql> CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl'; 2 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%'; 2、mysqldump备份master数据库 1 mysqldump -S /tmp/mysql3306.sock -p --master-data=2 --single-transaction -A |gzip >3306-`date +%F`.tar.gz 3、slave上还原master的备份 1 gunzip < 3306-2019-10-13.sql.gz | mysql -S /tmp/mysql3306.sock -p 提示:ERROR 3546 (HY000) at line 26

mysql-主从复制

有些话、适合烂在心里 提交于 2019-12-01 07:13:17
MySQL主从同步 1. 主从同步的定义   主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。   因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。 2.mysql 主从同步作用:   1.读写分离   2.分流,减轻服务器压力   3. 数据备份     80% 查询,20% 写入, 3.使用主从同步的好处: (1) 通过增加从服务器来 提高数据库的性能 ,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数量,从而调整整个数据库的性能。 (2) 提高数据安全 ,因为数据已复制到从服务器,从服务器可以终止复制进程,所以,可以在从服务器上备份而不破坏主服务器相应数据 (3) 在主服务器上生成实时数据,而在从服务器上分析这些数据,从而 提高主服务器的性能 4. 主从同步的机制   Mysql服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。 在使用二进制日志时,主服务器的所有操作都会被记录下来

Linux面试题

蓝咒 提交于 2019-12-01 07:04:02
1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑 开发运维、应用运维和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外 还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你三百台服务器,你怎么对他们进行管理? 管理3百台服务器的方式: 1)设定跳板机,使用统一账号登录,便于安全与登录的考量。 2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录

Zabbix4.2自定义触发器设置步骤

冷暖自知 提交于 2019-12-01 06:51:57
Zabbix4.2自定义触发器设置步骤 以zabbix监控mysql主从slave端Slave_IO_Running 和Slave_SQL_Running进程为例:当Slave_IO_Running 和Slave_SQL_Running状态为Yes时,mysql主从正常,非yes或者为No时出现故障! 步骤: 1.Mysql Slave端服务器编写检测主从状态的脚本mysql_slave.sh 创建脚本存放目录 mkdir -p /var/lib/mysql/sh 编写脚本 vim mysql_slave.sh #!/bin/bash mysql -uroot -p123.com -e 'show slave status\G'|grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes 脚本运行结果: 2.修改zabbix-agent配置,添加key值:UserParameter=mysql.slave和调用脚本路径:/var/lib/mysql/sh/mysql_slave.sh; vim /usr/local/zabbix/etc/zabbix_agentd.conf UserParameter=mysql.slave, sh /var/lib/mysql/sh/mysql_slave

mysql主从库配置

五迷三道 提交于 2019-12-01 05:07:16
主库:vim /etc/my.cnf,添加以下内容 更改之后重启mysql服务,进入mysql命令行,执行如下查询检查是否配置成功: 随后,在主库mysql命令行执行以下三步 1、在主库创建一个用户(rep:用户名):create user repl; 2、授予权限:grant replication slave on *.* to 'repl'@'从库服务器ip地址' identified by 'repl密码'; 3、flush privileges; 从库:vim /etc/my.cnf,添加以下内容: 保存之后,重启mysql服务。进入mysql命令行执行如下命令: 1、change master to master_host='主库服务器ip',master_port=3306,master_user='repl',master_password='repl密码',master_log_file='主库执行show master status 得到的file',master_log_pos=0; 2、start slave; 3、show slave status \G;  //查询从库启动信息 注意:从库用来读数据(不能写数据),主库可读写,并且从库的版本高于等于主库的版本。 补充知识点:   数据库数据导出:mysqldump -uroot -p 数据库名 >