mysql主从配置

mysql 日志文件mysql-bin文件清除方法,和mysql-bin相关文件的配置

喜夏-厌秋 提交于 2019-12-04 20:31:07
默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题。 首先要说明一下,这些文件都是mysql的日志文件,如果不做主从复制的话,基本上是没用的,虽然没用,但是不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。 mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2819416 Server version: 5.5.24-0ubuntu0.12.04.1-log (Ubuntu) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c'

MySQL --13 主从复制

帅比萌擦擦* 提交于 2019-12-04 19:10:14
目录 一.主从复制简介 二.主从复制原理 三、主从复制搭建实战 四.主从复制基本故障处理 五.延时从库 企业案例: 模拟环境 一.主从复制简介 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。 1)主服务器将所有数据和结构更改记录到二进制日志中。 2)从属服务器从主服务器请求该二进制日志并在本地应用其内容。 3)IO:请求主库,获取上一次执行过的新的事件,并存放到relaylog 4)SQL:从relaylog中将sql语句翻译给从库执行 二.主从复制原理 主从复制的前提 1)两台或两台以上的数据库实例 2)主库要开启二进制日志 3)主库要有复制用户 4)主库的server_id和从库不同 5)从库需要在开启复制功能前,要获取到主库之前的数据(主库备份,并且记录binlog当时位置) 6)从库在第一次开启主从复制时,时必须获知主库:ip,port,user,password,logfile,pos 7)从库要开启相关线程:IO、SQL 8)从库需要记录复制相关用户信息,还应该记录到上次已经从主库请求到哪个二进制日志 9)从库请求过来的binlog,首先要存下来,并且执行binlog,执行过的信息保存下来 主从复制涉及到的文件和线程 主库: 1)主库binlog:记录主库发生过的修改事件 2)dump thread:给从库传送(TP)二进制日志线程 从库:

MySQL高可用之MHA配置

自古美人都是妖i 提交于 2019-12-04 19:05:39
本文简单介绍了MySQL的高可用实现方式之一的MHA MHA:Master High Availability,对主节点进行监控,可实现自动故障转移至其它从节点;通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库。官网:https://code.google.com/archive/p/mysql-master-ha/ MHA工作原理:   1、 从宕机崩溃的master保存二进制日志事件(binlog events)   2 、识别含有最新更新的slave 3、 应用差异的中继日志(relay log)到其他的slave 4 、应用从master保存的二进制日志事件(binlog events) 5、 提升一个slave为新的master 6 、使其他的slave连接新的master进行复制 MHA配置方法 1、准备安装环境   - MHA服务器1台,CentOS7   - 主库1台,CentOS7,192.168.1.100   - 从库1台,CentOS7,192.168.1.101   - 从库1台,CentOS7,192.168.1.102   从官网下载安装包     1

mysql主从复制笔记

喜你入骨 提交于 2019-12-04 16:10:50
mysql主从复制笔记(2台阿里云服务器 centos系统 mysql版本最好一致)1 配置Master主服务器在Master MySQL上创建一个用户‘dog’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。<pre>CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';GRANT REPLICATION SLAVE ON *.* TO 'dog'@'localhost';</pre> ps:先localhost 然后再改成%, 然后从数据库登陆master数据库测试下 能不能连接上 2 找到MySQL安装文件夹修改my.cnf文件。mysql中有好几种日志方式,这不是今天的重点。我们只要启动二进制日志log-bin就ok。<pre>server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号 这个地方要注意不能出现relay-loglog-bin=master-binlog-bin-index=master-bin.index</pre> 然后重启mysql 运行如下<pre>mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------

PostgresSQL HA高可用架构实战

廉价感情. 提交于 2019-12-04 15:22:13
PostgresSQL HA高可用架构实战 原创 2015-09-25 萧少聪 高可用架构 本文由萧少聪在高可用架构群所做的分享整理而来,转载请注明高可用架构公众号:ArchNotes。 萧少聪(花名:铁庵),广东中山人,阿里云RDS for PostgreSQL/PPAS云数据库产品经理。自2006年以来,长期从事RedHat及SuSE Linux的HA集群搭建及PostgreSQL数据库支持工作。2011年开始组建Postgres(数据库)中国用户会。 PostgreSQL背景介绍 有不少同学希望了解PostgreSQL的背景及它与MySQL的对比结果,所以在此啰唆两句,有兴趣的同学可以单独给我发E-Mail,我可以分享详细的介绍及一些对比结果。 2015年是PostgreSQL正式在中国起步的一年,我们看到越来越多的企业选择了PostgreSQL。 中国移动主动使用PostgreSQL实现分布式数据库架构。 金融业方面平安集团明确表示将使用PostgreSQL作为新一代数据库的选型。 华为中兴纷纷加入PostgreSQL内核研究队伍。 阿里云正式提供PostgreSQL服务。 大部分人了解MySQL应该都是从2005年左右开始,那时在互联网带动下LAMP空前繁荣。而你所不知道的是,那时PostgreSQL已发展了近30年,至今已经超过40年

MySQL 8.0.18 InnoDB Cluster 主从(MGR)完整安装配置

妖精的绣舞 提交于 2019-12-04 14:21:24
提示: MySQL InnoDB Cluster底层依赖Group Replication模式,至少3台机器 1. 准备3台 CentOS Linux 7 (Core), 修改各主机名:db-host1, db-host2, db-host3 然后配置各台机器 hosts 映射, 对应如下 cat << EOF >> /etc/hosts 192.168.50.181 db-host1 192.168.50.182 db-host2 192.168.50.183 db-host3 EOF 2. 确保3台服务器要互相访问正常,为了保险期间请关闭防火墙,firewalld常用命令 如: # 启动 systemctl start firewalld # 关闭 systemctl stop firewalld # 查看状态 systemctl status firewalld # 开机禁用 systemctl disable firewalld # 开机启用 systemctl enable firewalld # 查看所有打开的端口 firewall-cmd --zone=public --list-ports 3. 确保互访使用ssh 共享,这里使用root 账户 如:在db-host1 执行,其它以此类推: ssh-keygen -t rsa ssh-copy-id -i ~/

MySQL日常的配置总结

前提是你 提交于 2019-12-04 13:47:28
MySQL 忘记密码 1:停掉数据库 2: 找到my.cnf 增加 skip-grant-tables #是安全登录 可以不使用密码 进行登录, 3:启动数据库 4:mysql -uroot 5:use mysql 6:update user set password = password('new_password') where user='root' 6.1 (5.7+) update user set authentication_string = password('new_password') where user='root'; 7 退出 8 停掉数据库 9 my.cnf 注掉 skip-grant-tables 10 启动数据库 11 if ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 12 set password = password('newPassword') MySQL 的主从数据库 1:调整主数据库的访问权限,从数据库可以进行访问(更改 mysql 数据库 user表 中的host列%表示任何IP) 2:找到 my.cnf 添加 server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号 log-bin=master-bin3

Linux 之 Mysql 主主复制

孤人 提交于 2019-12-04 11:52:55
一、 Mysql1配置 vi /etc/my.cnf.d/server.cnf [mysqld] #作为主从复制的唯一标识,集群中,不能重复 server-id = 1 #开启二进制日志 log-bin = master-log #开启中继日志 relay-log = slave-log auto_increment_offset = 1 auto_increment_increment = 2 二、MySQL2配置 vi /etc/my.cnf.d/server.cnf [mysqld] #作为主从复制的唯一标识,集群中,不能重复 server-id = 2 #开启二进制日志 log-bin = master-log #开启中继日志 relay-log = slave-log auto_increment_offset = 2 auto_increment_increment = 2 三、重启MySQL服务 systemctl restart mysqld 四、MySQL1为主,MySQL2为从配置   在MySQL1 中执行sql>> mysql> create user 'lan'@'192.168.11.%' identified by '666666'; mysql> grant replication slave on *.* to 'lan'@'192.168.11.

MYSQL的主从复制、读写分离

最后都变了- 提交于 2019-12-04 11:28:21
4,在master,slave1,slave2上分别安装MySQL [root@master1 ~]# mkdir /abc ##创建挂载点 [root@master1 ~]# mount.cifs //192.168.100.1/LNMP-C7 /abc/ ##远程挂载 Password for root@//192.168.100.1/LNMP-C7: [root@master1 ~]# cd /abc/ [root@master1 abc]# ls mysql-5.5.24 [root@master1 abc]# tar zxvf mysql-5.5.24.tar.gz -C /opt/ ##解压 [root@master1 opt]# yum install -y \ > gcc gcc-c++ \ > ncurses \ > ncurese-devel \ ##控制终端屏幕显示的库 > bison \ ##语法分析 > make > cmake ##cmake工具 > libaio-devel ##系统调用来实现异步IO [root@slave1 opt]# useradd -s /sbin/nologin mysql ##添加不可登录的mysql用户 [root@slave1 opt]# cd /opt/mysql-5.5.24/ [root@slave1 mysql

实现mysql的读写分离(mysql-proxy)____2

萝らか妹 提交于 2019-12-04 10:43:59
mysql-proxy简介 MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力。 使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请求,对SQL语句进行分析,判断出是读操作还是写操作,然后分发至对应的mysql服务器上。  mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等  MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,   从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可。   当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器做为冗余,在应用服务器的连接池配置中配置到多 个proxy的连接参数即可。 从图中可以看到,SQL语句并不直接进入到master数据库或者slave数据库,而是进入到 proxy,然后proxy判断这条语句是有关写的语句(包括insert、update、delete)还 是读语句(select