mysql主从服务搭建
一、安装mysql
- 检测当前centos是否安装了mysql:yum list installed | grep mysql
yum list installed | grep mariadb yum remove mariadb-libs.x86_64 并且移除/etc/my.cnf文件 rm -r /etc/my.cnf
由于mariadb是mysql的一个分支在centos7中会默认安装该数据库,需要将其写卸载

2.mysql5.7.19版本需要安装libnuma相关的依赖包
yum list installed |grep numactl 查询是否安装
yum install numactl 安装

3.解压mysql5.7.17到/usr/local/mysql下(路径可自行指定)
groupadd mysql useradd -g mysql mysql passwd mysql
检查指定mysql组是否存在:more /etc/group | grep mysql
检查指定用户所属组:groups mysql
检查当前活跃(在线)的用户列表:w
4.检查是否安装了 libaio
rpm -qa | grep libaio yum -y install libaio
5.配置my.cnf文件
cp my-default.cnf /etc/my.cnf
安装:./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

注意需要记住:A temporary password is generated for root@localhost: =:,tUa2Yvr(7
启动脚本添加到资源目录中:cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
授权 chmod +x /etc/rc.d/init.d/mysqld
添加到系统服务 chkconfig --add mysqld
校验服务是否生效 chkconfig --list mysqld 其中2 3 4 5表明开机启动

启动命令: service mysqld start

添加环境变量:vim /etc/profile 注意添加完后需要刷新配置信息 source /etc/profile

登录 mysql -uroot -p
登录成功后设置密码 SET PASSWORD = PASSWORD('123456');(初次登录)
授权远程访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


创建只读账号: GRANT Select ON *.* TO 'readonly'@'%' IDENTIFIED BY "123456";
创建可写账号: GRANT ALL PRIVILEGES ON *.* TO 'write'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
关闭临时防火墙:systemctl stop firewalld
在搭建一台备份mysql服务器(参照上面即可)
二、通过 wget安装
- 检测当前centos是否安装了mysql:yum list installed | grep mysql
yum list installed | grep mariadb yum remove mariadb-libs.x86_64 并且移除/etc/my.cnf文件 rm -r /etc/my.cnf (与上面第一点相同)
2. 下载mysql的repo
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装插件 yum -y install wget(没有wget命令时安装)
3.安装 sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
4.安装mysql sudo yum install mysql-server
注意:若报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 表示没有权限:chown root /var/lib/mysql/ 然后重启mysql:service mysqld restart
5.登录:mysql -u root -p 修改密码 update user set password=password('123456') where user='root';
6.重启 service mysqld restart
7.设置远程登录:GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
8.重启并关闭防火墙 service mysqld restart systemctl stop firewalld.service
三、主节点配置
- vim /etc/my.cnf 添加信息:server_id=213 #唯一id 一般使用ip最后一段 log-bin=mysql-bin #开启日志文件

2.重启mysql:service mysqld restart
3.验证配置信息是否成功 show variables like '%service_id%' ; show master status;
四、从节点配置
1.克隆主节点
2.修改配置文件:vim /etc/my.cnf
server_id=122 log-bin=mysql-bin binlog_do_db=test #需要同步的数据库,多个使用逗号分隔

3.重启
4.从节点中配置同步信息
change master to master_host='主mysql_ip',master_user='root',master_password='123456',
master_log_file='mysql-bin.000002',master_log_pos=216;
其中master_log_file 和master_log_pos 表示主mysql文件名,和同步位置,使用show master status;在主节点出现

5.开始同步 : start slave
6.检查同步状态:show slave status;
注意如果是使用虚拟机克隆功能在复制从节点,同步时下面可能是no

是由于克隆时/etc/my.cnf中UUID重复了。rm -rf /var/lib/mysql/auto.cnf 然后重启即可。
五、主从同步原理
借助binlog日志文件中的SQL执行命令实现主从复制,即master节点执行完一条SQL命令通过日志形式在salve节点在执行一次,在从库中有两个线程一个I/O和一个SQL线程,I/O线程主要去请求主库的binlog日志并将日志写到relay log中。主库会生成一个log dump线程,用来给I/O线程传递binlog,SQL线程读取relay log文件中的日志,并解析成相应的操作。
六、springboot读写分离
预计 五一节 更新
七、MyCat搭建
1.下载mycat:http://dl.mycat.io/1.6.5/
2.在cnf文件下有:server.xml :Mycat配置文件,包含账号、参数等信息
schema.xml: Mycat对应实际数据库和表的配置
rule.xml : Mycat水平分库分表规则
mysql主从服务搭建的更多相关文章
- 在cnetos7上搭建mysql主从服务
本文主要是介绍在centos上搭建mysql的主从服务器.如果没有搭建过的,可以查看我以前的博客,里面有详细的安装centos和在centos上安装mysql的说明. 一.安装从虚拟机: 1.右键—& ...
- 【Mysql】Mysql主从库搭建过程(爬完坑后整理所得)
Mysql主从数据库搭建流程 新手开始学习mysql主从库,遇到一些问题,总结后写出以下流程 下面以5.7.23版本为例介绍 第一步:去官网下载5.7.23版本的免安装压缩包形式的mysql文件,贴上 ...
- MYSQL主从数据库搭建
sc delete "服务名" 删除服务 环境: (以下是我这次搭建所使用的环境) 主数据库: 系统:ubuntu : MYSQL 5.1.63 :ip:192.1 ...
- mysql主从架构搭建
1.配置文件,开启二进制日志 vim /etc/my.cnf 在mysql下增加如下内容 server-id= log-bin=mysql-bin relay-log=mysql-relay 2.登录 ...
- 关于mysql集群主从服务器搭建
在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? ...
- 《高可用MySQL》2 – 单机版MySQL主从配置
这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...
- MySQL主从数据库同步延迟问题解决(转)
最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务 ...
- MySQL主从同步
脚本 [root@test scripts]# cat ss.sh #!/bin/bash . /etc/init.d/functions MYUSER=root MYPASS=c565f972 SO ...
- zabbix--监控MySQL主从状态
zabbix监控MySQL主从状态 搭建MySQL主从后,很多时候不知道从的状态是否ok,有时候出现异常不能及时知道,这里通过shell脚本结合zabbix实现监控并告警 一般情况下,在MySQL的从 ...
随机推荐
- ES--06
第51.初识搜索引擎_上机动手实战多搜索条件组合查询 课程大纲 GET /website/article/_search{ "query": { "bool": ...
- .Net Core ----通过XUnit进行接口单元测试(带请求头及参数)并用output输出结果
最近在做core的接口单元测试,所以在这拿出来分享一下,添加XUnit的nuget包 话不多说,直接上代码了: 输出结果(需要的命名空间using Xunit.Abstractions;): ITes ...
- nmap简介和使用
文章链接:https://blog.csdn.net/m1585761297/article/details/80015726 参考链接:https://www.cnblogs.com/nmap/p/ ...
- 小程序生成海报图片(或者原有的)并下载,&&相册授权&&按钮拉起二次授权
这是自己做小程序生成推广海报,并保存到本地相册的方法,向后台发起请求,返回一个海报图片,下载保存到相册, 如果只是单纯的下载图片代码43行-63行就足够了 如果想直接保存到相册,则不要做downFil ...
- Linux extmail的邮件服务器搭建
注:本文来源于<extmail搭建> 一.背景介绍 ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix.Amavisd-new.C ...
- Token令牌管理权限
什么是token HTTP是一种无状态的协议,也就是HTTP没法保存客户端的信息,没办法区分每次请求的不同. Token是服务器生成的一串字符,作为客户端请求的令牌.当第一次登陆后,服务器会分发Ton ...
- selenium+python-unittest多线程生成报告
前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...
- 等待activity出现(android特有的wait_activity)
前言 在启动app的时候,如果直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加sleep.那么问题来了,这个sleep时间到底设置多少合适呢?设置长了,就浪费时间,设置短了,就会找不到元 ...
- js 随机生成颜色值
function getRandomColor(){ var colorValue = [0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']; var s = & ...
- [原创]基于Zynq Linux环境搭建(四)
此篇编译根文件系统 下载busybox和dropbear, [#73#13:04:52 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS]$wget --no-che ...