Centos6上进行Mysql5.6安装和主从复制部署
系统:centos6
数据库:mysql5.6
服务器:两台,一主一从
一、Mysql5.6二进制版本的安装
Mysql的安装在有三种模式,第一种是yum安装,第二种是二进制模式的安装,第三种是源码编译安装。本篇采用的是二进制安装方式。
安装前有几个工作建议先做一下,尽量排除掉一切可能失败的因素。
1.在安装前要先检查下系统中是不是已经安装过mysql,如果安装,要先卸载Mysql,将相关mysql的东西全部删除。
2.Mysql用到端口3306,要在防火墙方面上将两个端口打开,重点:如果是阿里云服务器,它的防火墙端口在还有一层过滤,需要等上控制台,在规则里面把端口给放开。
①下载安装包
# cd /usr/local 安装目录在/usr/local,先进入目录 #wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz 下载linux平台下的64位的Mysql5.6 #tar zxvf mysql-5.6.-linux-glibc2.-x86_64.tar.gz -C /usr/local 将其解压到/usr/local #ln –sv mysql-5.6.-linux-glibc2.-x86_64 mysql 将解压后的文件建立软连接名字为 mysql 或 mv mysql-5.6.-linux-glibc2.-x86_64 mysql 将解压后的文件重命名为mysql
②准备Mysql用户
#groupadd mysql 增加mysql用户组 #useradd -s /sbin/nologin -M -g mysql mysql 增加mysql用户
-s表示指定用户所用的shell,此处为/sbin/nologin,表示不登录。
-M表示不创建用户主目录。 -g表示指定用户的组名为mysql。 -最后的mysql表示用户名。
③准备数据库实例datadir目录
# chown mysql:mysql /usr/local/mysql/data 更改data目录的所有者为mysql用户
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化实例3306的目录
初始化后的data目录
④准备配置文件
在/etc文件夹下建立my.cnf,配置如下内容。
#vim /etc/my.cnf
[client]
port =
socket = /tmp/mysql.sock
[mysqld]
port =
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
⑤配置环境变量(此步骤非必须,可以省略)
# vim /etc/profile
添加export PATH=/usr/local/mysql/bin/:$PATH
#source /etc/profile 重新加载下配置文件,使配置立即生效
⑥数据库的启动
启动Mysql有好几种方式,I,II,两种模式实质上最终都是是调用III.mysqld_safe启动。
I.可以将mysql配成服务,用server mysql start启动。
II.可以用mysqld -defaults-file=/etc/my.cnf --user=root 这种方式启动。
III.还可以用mysqld_safe --defaults-file=/etc/my.cnf 这种方式启动。
- I如果是将mysql配成服务
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld 将mysqld服务添加到开机自启列表 # chkconfig mysqld on 设置mysqld服务开机自启 # service mysqld start 启动mysql
- II 如果以mysqld 方式启动
# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=root & --user=root参数必须加,要不然报错
- III 如果以mysqld_safe方式启动
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf >& >/dev/null &
⑥修改管理员密码并测试
# /usr/local/mysql/bin/mysqladmin -u root password 'admin' 设置管理员密码
# /usr/local/mysql/bin/mysql -u root -p 测试密码输入
至此,Mysql已经安装完成,另一台服务器mysql的安装也是这样,接下来便开始进行主从复制。
二、Mysql主从复制
我们在两台服务器上都装上Mysql,然后一台作为主服务器,一台作为从服务器,作为一主一从模式。
Master:172.23.216.86
Slvae :172.23.216.87
1.主从复制原理
整体上来说,复制有3个步骤:
①master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
②slave将master的binary log events拷贝到它的中继日志(relay log);
③slave重做中继日志中的事件,将改变反映它自己的数据。
2.主从复制的配置
①主数据库实例设置server-id和开启bin-log;
②主数据库实例创建用于同步的账号;
③从数据库实例设置server-id;
④从数据库实例配置同步参数;
⑤从数据库实例启动同步开关。
①主数据库实例设置server-id和开启bin-log
在master的my.cnf文件中的[mysqld]节点出添加server-id和bin-log
# vim /etc/my.cnf
[mysqld] log-bin= /usr/local/mysql/data/mysql-bin 二进制日志路径格式 server-id = 主库从库的id不能相同 replicate-ignore-db = mysql 在进行主从同步时忽略mysql这个库
之后在数据库主库中查看是否开启
mysql>show variables like "server_id"; 显示为1表示正确 mysql>show variables like "log_bin"; 显示为ON表示二进制日志开启
②主库创建用于同步的账号
mysql>GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%' identified by ''; 创建一个用于从库复制的账号 mysql>flush privileges; 刷新下权限列表 mysql> show master status \G; 查看主库状态
③从数据库设置server-id
在slave中my.cnf的[mysqld]节点出添加server-id
# vim /etc/my.cnf
[mysqld] server-id =
④在slave中配置同步参数
mysql>CHANGE MASTER TO MASTER_HOST=' 172.23.216.86', 主库的ip地址 MASTER_PORT=, 端口号 MASTER_USER='replication', 账号 MASTER_PASSWORD='', 密码 MASTER_LOG_FILE='mysql-bin.000002', 开始复制的文件 MASTER_LOG_POS=; 复制的位置
⑤从数据库启动同步开关
mysql>start slave; 从库执行start slave mysql>show slave status \G; 查看从库状态
至此,主从复制完成。现在在master上进行数据库相关操作,之后就会发现从库中也有相关内容。
------------------------------------------------------------------------其他-------------------------------------------------------------
1.彻底解除主从复制关系
1). stop slave;
2). reset slave; 或直接删除master.info和relay-log.info这两个文件;
3). 修改my.cnf删除主从相关配置参数。
2.让slave不随MySQL自动启动
修改my.cnf 在[mysqld]中增加 skip-slave-start 选项。
Centos6上进行Mysql5.6安装和主从复制部署的更多相关文章
- MySQL5.7安装、主从复制、读写分离原理解析以及详细配置
一.Linux下mysql彻底卸载 1.查看mysql的安装情况 rpm -qa | grep -i mysql 2.删除上图安装的软件 rpm -ev mysql-community-libs--. ...
- Solr6.5在Centos6上的安装与配置 (一)
这篇文章主要是介绍在Centos6上Solr6.5的安装与配置. 一.安装准备及各软件使用版本说明: 1.JDK8,版本jdk1.8.0_121下载地址:jdk-8u121-linux-x64.tar ...
- CentOS-6.4-minimal版中源代码安装MySQL-5.5.38
完整版见https://jadyer.github.io/2014/09/29/centos-install-mysql/ /** * CentOS-6.4-minimal版中源代码安装MySQL-5 ...
- Docker安装mysql5.7并且配置主从复制
Docker安装mysql5.7并且配置主从复制 一.拉取mysql镜像 二.创建文件docker.cnf 2.1 mysql主机(192.168.21.55:3307) 2.1.1 创建文件夹 2. ...
- 在centos6上实现编译安装lamp和wordpress,并编译xcache
author:JevonWei 版权声明:原创作品 软件环境: centos6.9 httpd-2.4.27.tar.bz2 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar. ...
- 在CentOS6上利用PXE+Kickstart+Apache+DHCP实现无人值守安装
在CentOS6上利用PXE+Kickstart+Apache+DHCP实现无人值守安装 1.PXEServer:OS:CentOS6.9IP:172.16.25.69: (1)apache:# mo ...
- 在 CentOS6 上安装 GraphicsMagick-1.3.30
在 CentOS6 上安装 GraphicsMagick-1.3.30 1.简介: 1.1.在介绍 GraphicsMagick 前我们不得不先介绍下 ImageMagick: ImageMagick ...
- vmware上搭建kickstart 网络安装centos6.2的过程
前言 什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)协议使计算机可以通过网络启动.协议分client和server. PXE client 在网 ...
- CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0
CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0 CentOS7.5 环境 [root@instance-fjii60o3 ~]# rpm -qi centos- ...
随机推荐
- 简单Elixir游戏服设计-玩法simple_poker
上回介绍了玩法,现在编写了玩法的简单建模. 做到现在感觉目前还没有使用umbrella的必要(也许以后会发现必要吧),model 应用完全可以合并到game_server. 代码还在https://g ...
- jvm中的垃圾回收器
HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器.如果两个收集器之间存在连线,就说明它们可以搭配使用.Serial(串行GC)收集器 Serial收集器 ...
- Promise 对象
Promise 对象用于处理异步请求,保存一个异步操作最终完成(或失败)的结果 语法 new Promise( /* executor */ function(resolve, reject) {.. ...
- gitlab服务器搭建教程
gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...
- Echarts数据可视化series-scatter散点图,开发全解+完美注释
全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...
- 苹果 AR 新专利马上登陆 Facetime|Facebook 要用 VR 玩直播
附上VR技术福利视频 链接: https://pan.baidu.com/s/1boGGVs7 密码: viy8 点击关注有更多VR技术资源哦 苹果 AR 新专利马上登陆 Facetime ,使用光场 ...
- 【转载】CSS font关键字属性值的简单研究
文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=5 ...
- win10 uwp 绑定密码
win10 下,密码框无法绑定到ViewModel,Password是不可以绑定. 我们可以自己使用简单方法去绑定 我们之前在WPF 使用绑定密码框,我写了一篇,关于如何绑定,我提供一个我自己试了可以 ...
- 有序线性表(存储结构数组)--Java实现
/*有序数组:主要是为了提高查找的效率 *查找:无序数组--顺序查找,有序数组--折半查找 *其中插入比无序数组慢 * */ public class MyOrderedArray { private ...
- Linux系统LVM基本使用
一.关于LVM的几个概念 1. LVM:逻辑卷管理器,是建立在物理存储设备上的一个抽象层,允许你生成逻辑存储卷, 与硬件相关的存储设置被其隐藏,你不用停止应用或卸载文件系统来调整卷大小 或迁移数据,可 ...