mysql主从配置

win10上安装mysql8 并配置主从复制

旧时模样 提交于 2020-03-21 22:16:49
最近在学习springboot,想整理一篇博客,关于springboot整合mybatis并配置主从数据库的,但是电脑win10系统上并没有配置mysql主从数据库。所以花了几天的时间终于整好了。在这里记录一下。 首先是关于在win10上安装两个mysql8的步骤,我找到了一篇博客,按照上面的步骤,是可以配置成功的。 https://blog.csdn.net/imHanweihu/article/details/89404165 这里有几个问题需要注意的: 1.删除mysql mysqld remove [服务名] 如:mysqld remove mysql1 2.如果出现下述错误,可以删除data文件夹: D:\developeTool\mysqlnew\mysql-8.0.17-winx64\bin>mysqld --initialize --user=mysql --console 2020-03-20T15:31:23.847864Z 0 [System] [MY-013169] [Server] D:\developeTool\mysqlnew\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 15208 2020-03

阿里云PolarDB及其共享存储PolarFS技术实现分析(上)

て烟熏妆下的殇ゞ 提交于 2020-03-21 06:37:21
PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存在的运维和扩展性问题;通过引入RDMA和SPDK等新硬件来改造传统的网络和IO协议栈来极大提升数据库性能。代表了未来数据库发展的一个方向。本系列共2篇文章,主要分析为什么会出现PolarDB以及其技术实现。 由于PolarDB并不开源,因此只能基于阿里云公开的技术资料进行解读。这些资料包括从去年下半年开始陆续在阿里云栖社区、云栖大会等场合发布的PolarDB相关资料,以及今年以来公开的PolarDB后端共享存储PolarFS相关文章。 PolarDB出现背景 MySQL云服务遇到的问题 首先来了解下为什么会出现PolarDB。阿里云数据库团队具备国内领先的技术能力,为MySQL等数据库在国内的推广起到了很大的作用。在阿里云上也维护了非常庞大的MySQL云服务(RDS)集群,但也遇到了很多棘手的问题。举例如下: 实例数据量太大,单实例几个TB的数据,这样即使使用xtrabackup物理备份,也需要很长的备份时间,且备份期间写入量大的话可能导致redo日志被覆盖引起备份失败; 大实例故障恢复需要重建时,耗时太长,影响服务可用性(此时存活节点也挂了,那么完蛋了)。时间长有2个原因

MyCat基本知识

谁都会走 提交于 2020-03-20 13:38:39
MyCat基本知识 一.Mycat基本元素 1.逻辑库,mycat中存在,对应用来说相当于mysql数据库,后端可能对应了多个物理数据库,逻辑库中不保存数据 2.逻辑表,逻辑库中的表,对应用来说相当于mysql的数据表,后端可能对应多个物理数据库中的表,也不保存数据 逻辑表分类 1.分片表,进行了水平切分的表,具有相同表结构但存储在不同数据库中的表,所有分片表的集合才是一张完整的表 2.非分片表,垂直切分的表,一个数据库中就保存了一张完整的表 3.全局表,所有分片数据库中都存在的表,如字典表,数量少,由mycat来进行维护更新 4.ER关系表,mycat独有,子表依赖父表,保证在同一个数据库中 二.安装mycat 1.配置环境变量 export JAVA_HOME=/usr/lib/jdk1.8.0_20 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JER_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JER_HOME/bin:$PATH:/usr/local/mycat/bin export MYCAT_HOME=/usr/local/mycat export ZOOKEEPER_HOME=/usr/ local/zookeeper-3.4

MySQL-主从配置

匆匆过客 提交于 2020-03-19 13:29:54
1. 配置同步账号 create user 'sync'@'192.168.10.%' identified by 'sync'; grant replication slave on *.* to 'sync'@'192.168.10.%'; flush privileges; 2. 开启binlog # /etc/my.cnf增加一下配置 # open binary log mode log_bin = /mydata/binlog binlog-format = ROW 3. 初始化 mysqldump --single-transaction -uroot -hmaster -P3308 --master-data=2 -A |mysql -uroot -hslave -P3308 4. 配置主从同步 mysql -uroot -hmaster -P3308 -e " CHANGE MASTER TO MASTER_HOST='192.168.10.181', MASTER_USER='sync', MASTER_PASSWORD='sync', MASTER_PORT=3306; " 5. 启动服务 -- 开启主从 start slave; 6. 检查确认 show slave status\G; show master status\G; 来源: https://www

Mysql数据库主从复制搭建

為{幸葍}努か 提交于 2020-03-18 18:56:28
Mysql数据库主从复制原理: 主库开启bin-log日志,同时生成IO线程。IO线程负责将用户写入数据库的sql语句记录在二进制日志bin-log,该记录过程可并发进行;生成标识号 server id ;创建主从复制账号。   从库不需要开启bin-log日志,开启主从复制后,从库将产生一个IO线程,从库IO线程监控主库bin-log日志,当bin-log 日志发生变化时,从IO线程将会通过3306端口向主IO线程申请验证,进行数据交换,具体验证信息:1 主库IP和端口号、2 主库的复制账号和密码、3 所要复制的bin-log日志的文件名、4 文件中position具体位置。验证通过后主IO线程将对应的内容复制给从IO线程,该过程可以并发进行。此时从库文件master.info 记录了验证信息和完成数据交换的bin-log日志文件及文件中的位置信息。从库IO线程将内容放在从库中继日志relay-log中。SQL线程启动,查看relay-log ,将其中更新的二进制语句编译解析成sql语句,存储在从库的mysql data 目录中,并在relay-log.info文件中记录sql进程解析relay-log的文件名及位置信息,完成主从复制。 主从备份搭建 试验环境:master: 1922.168.200.151 slave : 192.168.200.129 一、 建立时间同步环境

MySQL主从复制与读写分离

自作多情 提交于 2020-03-18 18:41:05
MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12 MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。 如下图所示: 下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。 一、MySQL的安装与配置 具体的安装过程,建议参考我的这一篇文章: http://heylinux.com/archives/993.html 值得一提的是,我的安装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了/opt/mysql目录中,因此在一台服务器上安装完成以后,可以将整个mysql目录打包,然后传到其它服务器上解包,便可立即使用。 二、MySQL主从复制 场景描述: 主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据。 从数据库服务器:192.168.10

mysql 主从同步-读写分离

浪子不回头ぞ 提交于 2020-03-18 18:08:13
主从同步与读写分离测试 一、 实验环境(主从同步) Master centos 7.3 192.168.138.13 Slave centos 7.3 192.168.138.14 二、在master操作 安装并配置文件 [root@localhost ~]# yum install mariadb-server -y [root@localhost ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock server-id=1 //必须唯一 log-bin=mysql-bin //开启binlog日志 character-set-server=utf8 //设置字符集 2.启动mysql [root@localhost ~]# systemctl start mariadb 3. 授权root用户 MariaDB [(none)]> grant all on *.* to root@'localhost' identified by '123456'; MariaDB [(none)]> grant all on *.* to root@'%' identified by '123456'; 4. 刷新权限表 MariaDB [(none)]> flush

Mysql主从复制

有些话、适合烂在心里 提交于 2020-03-18 14:26:37
一:主从复制 一:介绍 主从复制就是从库不断向主库要数据,来更新自身的数据库以便自身的数据库数据和主库相同。基于二进制日志完成的. 作用: 1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。 3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。 简单流程介绍:从库读取master.info 中最后一个二进制日志(例mysql-bin.000012)序号和主库连接信息去连接主库(构建的是长链接,会一直问主库要数据),主库通过show master status查看当前最新的二进制日志,假设是mysql-bin.000020,那么主库就会将12-20之间的二进制日志都通过dump线程发送给从库,然后从库进行一系列的更新。 简单搭建一个主从: 构建如下一个主从 Master slave 3307---->3308 1. 3307中创建复制用户 主库开启二进制日志 vim /data/3307/my.cnf log_bin=/data/3307/mysql

mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

北慕城南 提交于 2020-03-18 14:26:26
mysql的innodb如何定位锁问题: 在使用 show engine innodb status检查引擎状态时,发现了死锁问题 在5.5中,information_schema 库中增加了三个关于锁的表(MEMORY引擎) innodb_trx ## 当前运行的所有事务 innodb_locks ## 当前出现的锁 innodb_lock_waits ## 锁等待的对应关系 mysql如何减少主从复制延迟: 如果延迟比较大,就先确认以下几个因素: 1. 从库硬件比主库差,导致复制延迟 2. 主从复制单线程,如果主库写并发太大,来不及传送到从库 就会导致延迟。更高版本的mysql可以支持多线程复制 3. 慢SQL语句过多 4. 网络延迟 5. master负载 主库读写压力大,导致复制延迟,架构的前端要加buffer及缓存层 6. slave负载 一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器 只作为备份用,不进行其他任何操作.另外, 2个可以减少延迟的参数: –slave-net-timeout=seconds 单位为秒 默认设置为 3600秒 #参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据 –master-connect-retry=seconds 单位为秒 默认设置为 60秒 #参数含义

mysql-proxy实现读写分离

江枫思渺然 提交于 2020-03-18 14:23:40
其中Amoeba for MySQL也是实现读写分离 环境描述: 操作系统:CentOS6.5 32位 主服务器Master:192.168.179.146 从服务器Slave:192.168.179.147 调度服务器MySQL-Proxy:192.168.179.142 由于电脑配置不行,安装了三台虚拟机,就卡死了,只能将就一下,由于是一主 一从,所以,导致读写都在master上,有机会,再弄两台slave来测试 一.mysql主从复制,参考:http://www.cnblogs.com/lin3615/p/5679828.html 二、mysql-proxy实现读写分离 1、安装mysql-proxy 实现读写分离是有lua脚本实现的,现在mysql-proxy里面已经集成,无需再安装 下载:http://dev.mysql.com/downloads/mysql-proxy/ 一定要下载对应的版本 tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz mv mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit /usr/local/mysql-proxy 2、配置mysql-proxy,创建主配置文件 cd /usr/local/mysql-proxy mkdir lua