mysql主从配置

专职DBA-mysqldump逻辑备份恢复

六眼飞鱼酱① 提交于 2019-11-28 20:40:47
专职DBA-MySQL数据库备份与恢复基础 [root@db01 ~]# ps -aux | grep mysql mysql 7452 0.2 19.2 1118856 193572 pts/0 Sl 18:55 0:01 mysqld --defaults-file=/data/mysql/3306/my.cnf root 7547 0.0 0.0 112708 972 pts/0 R+ 19:03 0:00 grep --color=auto mysql [root@db01 ~]# mysql -S /data/mysql/3306/mysql.sock -p Enter password: mysql> create database app; Query OK, 1 row affected (0.00 sec) mysql> use app; Database changed mysql> create table t1(id int,name varchar(32)); Query OK, 0 rows affected (0.02 sec) mysql> show tables; +---------------+ | Tables_in_app | +---------------+ | t1 | +---------------+ 1 row in set

orchestrator的安装和配置

核能气质少年 提交于 2019-11-28 19:47:12
介绍 在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的 MHA ,今天介绍另一个比较好用的MySQL高可用复制管理工具: Orchestrator (orch)。 Orchestrator (orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库 用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实例的复制关系和部分配置信息,同时也提供命令行和api接口,方便运维管理。 相对比MHA来看最重要的是解决了管理节点的单点问题,其通过raft协议保证本身的高可用。GitHub的一部分管理也在用该工具进行管理。 关于 Orchestrator 更详细的介绍可以看Github的介绍,大致的特点有: ① 自动发现MySQL的复制拓扑,并且在web上展示。 ② 重构复制关系,可以在web进行拖图来进行复制关系变更。 ③ 检测主异常,并可以自动或手动恢复,通过Hooks进行自定义脚本。 ④ 支持命令行和web界面管理复制。 部署如下 试验环境 mysql服务器 orchestrator & master:10.72.16.112 slave1:10.72.16.50 slave2

linux下的mysql数据库以及mysql主从复制

孤人 提交于 2019-11-28 19:08:14
参考博客 1.mysql数据库的安装 centos7如何安装mysql 1.yum安装 1.1首先配置yum源,然后再用yum进行安装 2. 源代码编译安装 3.rpm包安装 yum安装的前提条件,是准备好yum源,可以选择163源,清华源,阿里云源,等等等 1.安装mariadb的yum源有俩 一个是阿里云的yum源,可能版本较低,并且软件包很小,功能很少 二个是mariadb官方的yum源 yum源的配置方式是什么?就是如何定制yum源? 方法:在/etc/yum.repos.d目录下,建立一个repo文件就是yum仓库 创建一个 mariadb.repo文件,写入如下内容 [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 配置好yum源后进行安装 yum install mariadb-server mariadb -y 2.安装mariadb,查看官方的版本号,和软件包信息,启动数据库 systemctl start mariadb #启动mariadb数据库 3.在启动好mysql之后,进行初始化 mysql_secure_installation

【3.2】【mysql基本实验】mysql GTID复制(主从复制/异步复制/半同步复制,一主一从)

时光总嘲笑我的痴心妄想 提交于 2019-11-28 17:41:38
概述:本质上和传统异步复制没什么区别,就是加了GTID参数。 且可以用传统的方式来配置主从,也可以用GTID的方式来自动配置主从。 这里使用GTID的方式来自动适配主从。 一、基于GTID的异步复制(一主一从) 【1】环境 操作系统:CentOS linux 7.5 数据库版本:5.7.26 数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用默认传统的异步复制。 主库IP:192.168.135.158  端口:3306 从库IP:192.168.135.159  端口:3306 【2】my.cnf 参数配置(主从都配) #replication_new log_bin=/mysql/log/3306/mysql-bin #开启binlog log_bin_index=/mysql/log/3306/mysql-bin.index binlog_format=row binlog_rows_query_log_events=on max_binlog_size=2048 bind-address=0.0.0.0 server_id=2013306 #注意,这里从库的server_id和主库一定要不一样 expire_logs_days=7 #超过7天的binlog清理 innodb_support_xa=1 binlog_cache_size=1M log_bin

MySQL主从备份

浪尽此生 提交于 2019-11-28 16:44:41
一,虚拟机两台:192.168.1.10(主机),192.168.1.11(从机) 二,在/etc/my.cnf下,主从服务器添加日志和id,log-bin=mysql-bin , server-id=10(随意,这里用ip来区分,两台机器不能一样) 主: 从: 三:主服务器授权,让从服务器能够连接主服务器, 主服务器上的Position和从服务器的master_log_pos要一样,File和master_log_file要一样,如上图, 配置完成后从服务器上会产生授权信息文件master.info 四:开启从服务器 start slave 五:查看从服务器的内容 show slave status\G; 如果两个都是yes代表成功 因为之前我的防火墙没有关,所以出现了Slave_IO_Running:Connecting 一切完成后就成功了,在主服务器创建一个库,如果从服务器上也有相应的库,就OK了, 注意:可能会出现一些问题,检查防火墙,还有要细心,如果是虚拟机克隆,两个的server_uuid就是一样的,会有一定的影响, 在进行授权的时候可能会出现如下的提醒,为了加强安全性,MySQL5.7要求一个复杂的密码 与validate_password_policy的值有关,按照下面做就可以了 来源: https://www.cnblogs.com/steakliu/p

MariaDB单机双实例主从复制

99封情书 提交于 2019-11-28 16:23:43
MariaDB其实和mysql一样,非有啥不一样那就是名字不一样~.~! 开始~上篇实验是MariaDB的单机多实例安装 复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中,复制很容易实施,主要表现在在利用主节点进行写操作,多个从节点进行读操作,mysql复制的异步性是指:事物首先在主节点上提交,然后复制给从节点并在从节点上应用,这样意味着在同一个时间点主从上的数据可能不一致,异步复制的好处在于它比同步复制要快,如果对数据的一致性要求很高,还是采用同步复制较好。 最简单的复制模式就是一主一从的复制模式了,这样一个简单的架构只需要三个步骤即可完成: 1 建立一个主节点,开启binlog,设置服务器id 2 建立一个从节点,设置服务器id 3 将从节点连接到主节点上 双实例端口3307主库,3308从库 3307主实例的mysqld配置 [mysqld2] port=3307 socket=/tmp/mysql3307.sock #套接字文件 pid-file=/tmp/mysql3307.pid #PID文件目录 max_allowed_packet=1M #允许插入的数据大小 net_buffer_length=2k #套接字通信缓冲区大小 table_open_cache=4

Mysql多实例数据库

笑着哭i 提交于 2019-11-28 16:18:45
什么是Mysql的多实例?   简单的说,Mysql多实例就是一台服务器上同时开启多个不同的服务端口(如3306、3307)同时运行多个Mysql服务进程,这些服务进程通过不同socket监听不同的服务端口来提供服务。 Msyql的多实例特点:   这些Mysql共用一套Mysql的安装程序,使用不用的配置文件(my.cnf)启动程序和数据文件。在提供服务时,多实例Mysql在逻辑上看起来是各自独立的,它们根据配置文件的对应设定值,获得服务器响应数量的硬件资源。 补充: 其实很多网络服务器都是可以配置多实例的,例如Nginx Apache Redis Memcache 都可以配置多实例。 mysql多实例的作用: 1)有效的利用服务器资源 当单个服务器资源有剩余的时候,可以充分利用剩余的资源提供更多的服务,且可以实现资源的逻辑隔离。 2)节约服务器资源 当公司资金紧张,但是数据库又需要各自尽量独立提供服务,而且,需要主从复制等多实例就再好不过了。 但是 mysql多实例也有弊端,当某个数据库实例并发很高或者SQL满查询时,会存在资源相互抢占的问题。 Mysql多实例的生产应用场景 1.资金紧张型公司的选择 比如: 3台服务器部署9-15个实例,交叉做主从复制,数据备份及读写分离,这样就可以达到9-15台服务器每个只装一个数据库才有的效果。所谓的独立是相对的。 2

Mysql读写分离操作

左心房为你撑大大i 提交于 2019-11-28 16:04:19
环境:两台centos环境,安装mysql(mariadb) web网站的优化: 缓存技术 数据库缓存 redis 文件缓存 图片 fastdfs 负载均衡 nginx 数据库主从备份,读写分离 图解: 在工作中,为了防止数据损坏,使用主从备份这种架构(复制集),为了满足mysql的性能要求,为了提高吞吐量使用复制集之后还可搭建读写分离去提高性能。 搭建主从 在master(主机名) 和slave(从机名) 都需要操作安全向导 mysql_secure_installation systemctl restart mariadb 重启服务 mysql -u root -p 使用密码登陆 关闭主从防火墙和安全模式 systemctl stop firewalld setenforce 0 slave 操作 systemctl restart mariadb mysql -uroot -p create database OurBlog charset=utf8; exit 将刚导入的sql文件导入到salve库中 mysql -h localhost -u root -p111111 OurBlog < /opt/OurBlog.sql 修改配置文件 master配置文件 vi /etc/my.cnf 增加代码 server-id=1 log_bin=mysql-bin?

MySQL host is blocked because of many connection errors; 解决方法

自闭症网瘾萝莉.ら 提交于 2019-11-28 15:52:36
MySQL host is blocked because of many connection errors; 报错 环境 操作系统:Linux 数据库:mysql5.7.27 错误提示 jHost '10.146.5.209' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connection closed by foreign host. 原因 同一ip短时间之内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞; 解决方法 第一种: 提高允许的max_connect_errors数量(此方法不彻底) 登录Mysql数据库查看max_connect_errors: show variables like 'max_connect_errors'; 修改max_connect_errors的数量为1000: set global max_connect_errors = 1000; 查看是否修改成功:show variables like 'max_connect_errors'; 第一种: 提高允许的max_connect_errors数量 whereis

Mysql主从复制原理及搭建

这一生的挚爱 提交于 2019-11-28 15:36:04
Mysql主从复制原理 主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。 Mysq主从复制的类型 基于语句的复制: 主服务器上面执行的语句在从服务器上面再执行一遍,在MySQL-3.23版本以后支持。 存在的问题:时间上可能不完全同步造成偏差,执行语句的用户也可能是不同一个用户。 基于行的复制: 把主服务器上面改变后的内容直接复制过去,而不关心到底改变该内容是由哪条语句引发的,在MySQL-5.0版本以后引入。 存在的问题:如果修改的行数过多,造成的开销比较大。 MySQL默认使用基于语句的复制,当基于语句的复制会引发问题的时候就会使用基于行的复制,MySQL会自动进行选择。 在MySQL主从复制架构中,读操作可以在所有的服务器上面进行,而写操作只能在主服务器上面进行。主从复制架构虽然给读操作提供了扩展,可如果写操作也比较多的话(多台从服务器还要从主服务器上面同步数据),单主模型的复制中主服务器势必会成为性能瓶颈。 Mysql主从复制的工作原理 如上图所示,主服务器上面的任何修改都会保存在二进制日志Binary log里面,从服务器上面启动一个I/O