mysql主从配置

缓存数据库Redis

人盡茶涼 提交于 2019-12-02 06:19:50
NoSQL 入门与概述 为什么用 NoSQL? 什么是单机 MySQL? 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 Memcached(缓存)+MySQL+垂直拆分 MySQL 主从读写分离 由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。MySQL 的 Master-Slave 模式成为这个时候的网站标配了。 分表分库+水平拆分+MySQL集群 在 Memcached 的高速缓存,MySQL 的主从复制,读写分离的基础之上,这时 MySQL 主库的写压力开始出现瓶颈,而数据量的持续猛增,由于 MyISAM 使用表锁,在高并发下会出现严重的锁问题,大量的高并发 MySQL 应用开始使用 InnoDB 引擎代替MyISAM。 同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。这个时候,分表分库成了一个热门技术,是面试的热门问题也是业界讨论的热门技术问题。也就在这个时候,MySQL 推出了还不太稳定的表分区,这也给技术实力一般的公司带来了希望。虽然 MySQL 推出了 MySQL Cluster 集群,但性能也不能很好满足互联网的要求,只是在高可靠性上提供了非常大的保证。 MySQL 的扩展问题 MySQL

mysql主从同步

谁说我不能喝 提交于 2019-12-02 06:11:48
安装mysql查看教程: https://blog.csdn.net/wrh7890it/article/details/102723517 1.服务器: 服务器:192.168.1.128(主),192.168.1.129(从) 2.(master)主服务器配置 3.重启mysql service mysql restart 4.进入mysql控制台查看master binlog 、 5.创建新用户,用于从服务器同步 GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' identified by 'tiger'; FLUSH PRIVILEGES; 6.从服务器配置 7.重启mysql service mysql restart 8.关联主数据库 change master to master_host='192.168.1.128',master_user='slaveuser',master_password='tiger', master_log_file='对应file的值',master_log_pos='对应position的值'; 9.启动slave,并查看状态 start slave; show slave status\G; 出现以上状态代表配置成功:去数据库新建库查看是否同步: 过程中如果出现Slave_IO

MySQL5.7脚本自动安装

耗尽温柔 提交于 2019-12-02 06:07:04
脚本里面没有把同步时间写进去,这个写在最前面 yum install -y ntp ntpdate cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 执行下列语句之前,请详细了解ntp和ntpdate的区别,由于我这里是测试环境,所以ntpdate并无问题,正式环境请慎用ntpdate (ntp是逐渐校正时间,ntpdate是跳跃式的直接修改时间,可能会对应用造成不良影响) (另外,在虚拟机上测试时,ntpd不是太明显) service ntpdate start /sbin/chkconfig --add ntpd /sbin/chkconfig --level 234 ntpd on 在阿里CentOS7环境下,会存在缺少libaio.so.1的报错 yum install -y libaio #!/bin/bash # FlyDido # V1.0 2018.6.4 # 部署MySQL5.7,请提前为数据存储路径"/data"划分好空间 # V1.1 2018.9.11 # 将V1.0版本的固定下载部署5.7.22版本更新为自动识别5.7最新版本 #关闭SeLinux sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux setenforce 0

读写分离之Atlas

不想你离开。 提交于 2019-12-02 05:56:06
1、atlas介绍 Atlas是由Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的 MySQL-Proxy 0.8.2 版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。同时,有超过50家公司在生产环境中部署了Atlas,并且这些数字还在不断增加。 2、安装atlas 官方提供的Atlas有两种 Atlas ( 普通 ) : Atlas-2.2.1.el6.x86_64.rpm Atlas ( 分表 ) : Atlas-sharding_1.0.1-el6.x86_64.rpm 我们只需要下载普通的即可。 安装步骤: 进入 /usr/local 目录,创建文件夹 AtlasSrc [root@localhost ~]# cd /usr/local/ [root@localhost local]# mkdir AtlasSrc [root@localhost local]# cd AtlasSrc/ [root@localhost AtlasSrc]# 将 Atlas 安装包复制进来目录 AtlasSrc 下 ( 复制过程略 ) 安装atlas rpm -i Atlas-2.2.1.el6

msyql 主从复制

时光毁灭记忆、已成空白 提交于 2019-12-02 05:22:56
1、主服务器设置 设置mysql中的my.cnf log_bin=mysql_bin server_id=10 使用命令创建复制账号 grant replication slave,replication client on *.* to repl@192.168.1.11.% identified by "pass13"; 配置后重启mysql服务器:在命令行输入 show master status;命令查看主服务器是否配置成功 记住这个命令行下的file中 mysql_wang.00001这个文件名 从服务器配置: log_bin=mysql_bin server_id=2 relay-log=/var/mysql/log change master to master_host='180.76.147.125',master_user='repl2019', master_password='1234676',master_port=4368,master_log_file='mysql-bin.000049',master_log_pos=0;    来源: https://www.cnblogs.com/fogwang/p/11729906.html

MySQL 主从复制

醉酒当歌 提交于 2019-12-02 05:09:44
背景 公司内部 MySQL 只有一部,现在需要添加一个从库。办法把现有的 MySQL变成主库,新搭建一台 MySQL从库,组成一主一从让开发配置读写分离。 操作系统 CentOS 7.4 64bit MySQL主库 192.168.0.237 MySQL从库 192.168.0.227 MySQL 主从复制图解 1. 从库执行 change master to ,ip pot user password binlog position 信息写入到 master.info 2. 从库执行 start slave 时,从库会启动 IO 线程 和 SQL 线程 3. IO_T 会读取 master.info 信息,获取主库信息连接主库 4. 主库会生成一个准备 binlog 的 DUMP 线程,来响应从库 5. IO_T 根据 master.info 记录的 binlog 文件名和 position 号,请求主库 DUMP 线程最新的日志 6. DUMP 线程检查主库的 binlog 日志,如果有新的,TP(传送)给从从库的 IO_T 7. IO_T 将收到的日志存储到了 TCP/IP 缓存,立即返回 ACK 给主库,主库工作完成 8. IO_T 将缓存中的数据,存储到 relay-log 日志文件, 更新 master.info 文件 binlog 文件名和 postion,IO_T

MySQL高可用MHA环境部署

ぃ、小莉子 提交于 2019-12-02 03:30:41
前期环境部署: 配置所有主机名称: master1 主机: hostname server01 bash master2 主机: hostname server02 bash slave1 主机: hostname server03 bash slave2 主机: hostname server04 bash manager 主机: hostname server05 bash 配置所有主机名映射: vim /etc/hosts //在每台机器上操作 192.168.96.4 server01 192.168.96.5 server02 192.168.96.6 server03 192.168.96.7 server04 192.168.96.9 server05 scp /etc/hosts 192.168.96.4:/etc/ scp /etc/hosts 192.168.96.5:/etc/ scp /etc/hosts 192.168.96.6:/etc/ scp /etc/hosts 192.168.96.9:/etc/ //每台机器都发送 所有主机关闭防火墙和安全机制:(每台机器都操作) systemctl stop firewalld iptables -F setenforce 0 下载mha-manager和mha-noda 网址:http:/

MyCat教程一:MyCat的简单介绍

徘徊边缘 提交于 2019-12-02 03:20:40
MyCat教程二:mysql主从复制实现 MyCat教程三:安装及配置介绍 MyCat教程四:实现读写分离 MyCat教程五:实现分库分表 MyCat教程六:全局序列号-全局主键的自增长 一、MyCat简介 1. 什么是MyCat   MyCat 是目前最流行的 基于 java 语言编写的 数据库中间件 ,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是 分库分表 。配合数据库的主从模式还可实现 读写分离 。   MyCat 是基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得 MyCat 变得非常的强大。   MyCat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型NoSQL 方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在 MyCat 里,都是一个传统的数据库表,支持标准的 SQL 语句进行数据的操作,这样一来,对前端业务系统来说

mysql5.7 主从配置

泄露秘密 提交于 2019-12-02 03:03:53
192.168.182.100 为主数据库服务器 192.168.182.101 为从数据库服务器 1、在主数据库中 添加配置 #开启二进制日志 [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=1 #任意自然数n,只要保证两台MySQL主机不重复就可以了。 auto-increment-increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n auto-increment-offset=1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL #binlog-do-db=monitor_db #要给从机同步的库 binlog-ignore-db=mysql #不给从机同步的库(多个写多行) binlog-ignore-db=mysqlslap binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-ignore-db=sys expire_logs_days=3 # 自动清理 3 天前的log文件 可根据需要修改    注意:二进制日志必须开启,因为数据的同步实质上就是其他的MySQL数据库服务器将这个数据变更的二进制日志在本机上再执行一遍。 2、在主数据库中创建一个

mysql多实例双主部署

萝らか妹 提交于 2019-12-02 02:41:18
本文引自公司技术文档,仅作为记录。 背景 有的时候需要进行数据库环境的隔离,以及节省服务器资源一台mysql安装多个数据库实例,一个实例下构建多个数据库​ 安装mysql yum -y install ncurses-devel cmake wget gcc gcc-c++ &&cd /usr/local/src && wget http://192.168.1.173:8000/mysql-5.6.23.tar.gz &&groupadd mysql && useradd mysql -g mysql ​在mysql解压包目录下,执行如下编译安装脚本:cd /usr/local/src &&rm -rf mysql-5.6.23 &&tar -zxvf mysql-5.6.23.tar.gz && cd mysql-5.6.23 &&rm -rf /etc/my.cnf /usr/local/mysql &&mkdir -p /usr/local/mysql /usr/local/mysql/mysql_data &&rm -rf CMakeCache.txt &&cmake . \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/mysql_data \-DDEFAULT