mysql主从配置

Zabbix监控mysql主从状态

核能气质少年 提交于 2020-01-02 22:00:42
首先我们要监控主从是否正常同步,那么我们需要知道的是,什么东西或者说现象可以判断它的主从复制是正常的是正确的。 如上图所示,上述两个参数若同时为yes则说明主从同步正常。 那么我们现在就需要用命令去把这个正确的主从复制的状态表达出来。 mysql - uroot - p123456 - S / data / mysql / 3308 / mysql3308 . sock - e "show slave status\G" | grep - E "Running" | grep - E "Yes" | wc - l 第一个竖杠前的内容是在打印slave的状态 第一个grep是从打印的状态信息中过滤出有Running的行 第二个grep是在第一个grep出来的信息中,再次筛选出有Yes的行。 最后计算出行数 编辑 zabbix_agent.conf 配置文件 添加红框框中的内容即可。记住下面一定要写: unsafeuserparameters=1 通过 zabbix_get 命令进行测试: / usr / local / zabbix / bin / zabbix_get - s 39.97 .176 .117 - k check_mysql_replication 成功! 接下来就配置zabbix_web: 到此为止,已经可以看到图形了,随时在监测主从情况了。

MySQL分库分表之MyCat实现(五)

半世苍凉 提交于 2020-01-02 21:40:50
一 . 分库分表 什么是分库分表 ? 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。 2.分库分表的方式 2.1 分库 : 1. 垂直分库 : 是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放不同的服务器上,它的核心理念是专库专用。 2 水平分库 : 把同一个表的数据按一定规则拆分到不同的数据库中,每个库可以放不同的服务器上 2.2 分表 : 1. 垂直分表 : 将一个表按照字段分成多表,每个表存储其中一部分字段 2. 水平分 表 : 在同一个数据库内,把同一个表的数据按一定规则拆到多个表中。 二. MyCat 实现 2.1 什么是 MyCat? MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离。 MyCat 是基于阿里开源的 Cobar 产品而研发, Cobar 的稳定性、可靠性

前后端分离部署

你离开我真会死。 提交于 2020-01-02 21:37:00
部署总体: vue +uwsgi+django+mysql+redis 创建luffy文件夹: [root@localhost opt]# cd luffy 路飞学城django代码下载后端:wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip解压 unzip luffy_boy.zipvue代码下载前端:wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip 创建新的虚拟环境: mkvirtualenv luffy 1.前端vue部署* * vue代码下载:wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip解析:unzip 2.下载node.js wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz 解压:tar -zxvf node-v8.6.0-linux-x64.tar.gz 配置node的环境变量即可 luffy) [root@localhost node-v8.6.0-linux-x64]# cd bin 1.(luffy) [root@localhost

mysql主从复制

ε祈祈猫儿з 提交于 2020-01-02 21:36:34
mysql主从复制 1.centos7如何安装mysql 1.yum安装 2.源代码编译安装 3.rpm包安装 yum安装的前提条件,是准备yum源,可以选择清华园,阿里源,等等 1.安装mariadb的yum源有两,一个是阿里云,版本低,功能小 命令:yum install mariadb-server mariadb 2.mariadb官方的yum源,配置的方式 方法:在/etc/yum.repos.d/目录下创建repo文件就是yum仓库 1.创建一个mariadb.repo文件,写入如下内容 vim /etc/yum.repos.d/MariaDB.repo 2、添加repo仓库配置[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.1/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1 3.安装官方mariadb命令 yum install MariaDB-server MariaDB-client -y 4.启动mariadb相关命令 mariadb数据库的相关命令是:​systemctl start mariadb #启动MariaDB​systemctl stop mariadb #停止MariaDB

MySQL自带工具使用介绍

我只是一个虾纸丫 提交于 2020-01-02 19:05:58
前言 在MySQL中,自带了许多功能比较强大的工具,如mysql、mysqladmin、mysqldump等。这篇博文将写下部分命令工具的用法。 1、mysql命令 Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。可以通过mysql --help来查看其详细使用方法。 mysql命令选项 作用 说明 -u 指定连接数据库时使用的用户 -p 指定用户的密码 可以-p后面直接写密码,也可以不写,进行交互式输入密码,推荐后者 -h 指定要登录的主机 可选,如果为空,则登录本机 -P 指定要连接的端口 可选,默认是3306 -e 可以通过-e命令直接执行SQL语句,而不用进入数据库 免交互登录数据库执行SQL语句,通常在脚本中使用 -D 指定要登录到哪个库 默认不会登录到库,可以省略此选项,直接写库名 -E 查询到的结果以行来显示 类似于每条SQL语句后面加“\G” -f 即使出现SQL错误,也强制继续 比如在不登陆数据库执行删除库的操作会有一个交互式的确认操作,可以使用此选项来避免交互式 -X 将查询到的数据导出位xml文件 导出的文件在windows系统中可以使用excel表格打开 -H 将查询到的数据导出位html文件 导出的文件在windows系统中可以使用浏览器打开 --prompt 定制自己的MySQL提示符显示的内容

mysql读写分离的实现

被刻印的时光 ゝ 提交于 2020-01-02 08:50:50
读写分离拓扑图如下: 为什么要实现mysql读写分离 ​ 大型网站为了解决大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。 ​ 利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,而其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作(slave从数据库仍然会被动的进行写操作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载。 mysql读写分离 mysql读写分离概述 ​ mysql本身不能实现读写分离的功能,需要借助中间件实现,例如:Amoeba,Mysql Proxy,Atlas。今天主要介绍Amoeba实现mysql读写分离。 ​ Amoeba(变形虫)项目,该开源框架于2008发布一款Amoeba for mysql软件,该软件致力于mysql的分布式数据库前端代理层,**主要的作用是应用服务访问mysql服务器时充当SQL路由功能,并具有负载均衡、高可用性、SQL过滤、读写分离

分库分表、主从、读写分离

╄→гoц情女王★ 提交于 2020-01-01 12:14:35
每天学习一点点 编程PDF电子书、视频教程免费下载: http://www.shitanlife.com/code 1. 漫谈 在进入正题之前,我想先随意谈谈对架构的拓展周期的想法(仅个人观点)。首先,我认为初期规划不该太复杂或者庞大,无论项目的中长期可能会发展地如何如何,前期都应该以灵活为优先,像分库分表等操作不应该在开始的时候就考虑进去。其次,我认为需求变更是非常正常的,这点在我等开发的圈子里吐槽的最多,其中自然有 “领导们” 在业务方面欠缺整体考虑的因素,但我们也不该局限在一个观点内,市场中变则通,不变则死,前期更是如此,因此在前几版的架构中我们必须要考虑较高的可扩展性。最后,当项目经过几轮市场的洗礼和迭代开发,核心业务趋于稳定了,此时我们再结合中长期的规划给系统来一次重构,细致地去划分领域边界,该解耦的解耦,该拆分的拆分。 2. 分库分表 2.1 概述 当数据库达到一定规模后(比如说大几千万以上),切分是必须要考虑的。一般来说我们首先要进行垂直切分,即按业务分割,比如说用户相关、订单相关、统计相关等等都可以单独成库。 图片来源 → 但仅仅如此这是完全不够的,垂直切分虽然剥离了一定的数据,但每个业务还是那个数量级,因此我们还得采取水平切分进一步分散数据,这也是本节论述的重点。 分库分表的优点相信上述两图都一目了然了,一个是专库专用,业务更集中,另一个是提升数据库服务的负载能力

mysql数据库主从同步复制原理

丶灬走出姿态 提交于 2020-01-01 04:27:24
MySQL 的Replication(英文为复制)是一个多MySQL 数据库 做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合。与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。 MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql instance(instance英文为实例)(我们称之为Master)复制到另一个Mysql instance(我们称之slave)。在master与slave之间实现整个复制过程主要由三个线程来完成,其中两个线程(SQL线程和IO线程)在slave端,另外一个线程(IO线程)在master端。 要实现MySQL的Replication,首先必须打开master端的binlog (mysql-bin.xxxxxx)日志功能,否则无法实现mysql的主从复制。因为mysql的整个主从复制过程实际上就是:slave端从master端获取binlog日志,然后再在自己身上完全顺序的执行该日志中所记录的各种SQL操作。 有关具体如何开启mysql的binlog日志功能, MySQL主从复制的基本交互过程,如下: 1、slave端的IO线程连接上master端

Mysql主从原理

寵の児 提交于 2020-01-01 04:26:21
MySQL 的Replication(英文为复制)是一个多 MySQL 数据库 做主从同步的方案,特点是异步复制,广泛用在各种对 mysql 有更高性能、更高可靠性要求的场合。与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。 MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql instance(instance英文为实例)(我们称之为Master)复制到另一个Mysql instance(我们称之slave)。在master与slave之间实现整个复制过程主要由三个线程来完成,其中两个线程(SQL线程和IO线程)在slave端,另外一个线程(IO线程)在master端。 要实现MySQL的Replication,首先必须打开master端的binlog (mysql-bin.xxxxxx)日志功能,否则无法实现mysql的主从复制。因为mysql的整个主从复制过程实际上就是:slave端从master端获取binlog日志,然后再在自己身上完全顺序的执行该日志中所记录的各种SQL操作。 有关具体如何开启mysql的binlog日志功能, MySQL主从复制的基本交互过程,如下: 1、slave端的IO线程连接上master端

mysql 的主从

我的梦境 提交于 2020-01-01 04:25:07
MySQL 的Replication(英文为复制)是一个多MySQL 数据库 做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合。与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。 MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql instance(instance英文为实例)(我们称之为Master)复制到另一个Mysql instance(我们称之slave)。在master与slave之间实现整个复制过程主要由三个线程来完成,其中两个线程(SQL线程和IO线程)在slave端,另外一个线程(IO线程)在master端。 要实现MySQL的Replication,首先必须打开master端的binlog (mysql-bin.xxxxxx)日志功能,否则无法实现mysql的主从复制。因为mysql的整个主从复制过程实际上就是:slave端从master端获取binlog日志,然后再在自己身上完全顺序的执行该日志中所记录的各种SQL操作。 有关具体如何开启mysql的binlog日志功能, MySQL主从复制的基本交互过程,如下: 1、slave端的IO线程连接上master端