MySQL优化(三)——主从复制
1.MySQL高可用
主从复制 一主多备 多主多备
2.MySQL主从复制
主机所有写的数据都会生成二进制SQL日志执行文件,从机只需要将SQL日志执行文件获取到,然后进行数据同步即可
2.1 MySQL环境搭建
2.1.1 连接到虚拟机,在/usr/local下新建一个文件夹为mysql,将tar包上传到次目录当中
2.1.2 切换到/usr/local/mysql目录,进行拆包
tar -xvf MySQL-5.5.44-1.linux2.6.x86_64.rpm-bundle.tar
2.1.3 安装mysql客户端
rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm 如果报错依赖检测失败
rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm --nodeps
2.1.4 安装服务端
rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm --nodeps
安装服务端,如果当前虚拟机有mysql报错,出现版本冲突 yum remove mysql-libs
2.1.5 检测是否安装客户端和服务器
rpm -qa|grep -i mysql
2.1.6 启动mysql服务
service mysql start 停止:service mysql stop 重启:service mysql restart
2.1.7 mysql默认安装完毕后是没有密码的 更改密码mysqladmin -uroot -p password '新密码'
2.1.8 登陆mysql服务器
mysql -uroot -p
2.1.9 SQLyog去连接虚拟机mysql
连接报1130错误,没有权限进行远程连接,更改权限为%
1.登陆mysql服务器
2.切换到mysql数据库下
3.查询当前用户表中用户名和host信息,发现host为127.0.0.1代表只能本机使用root ,外界用不了
select user,host from user;
4.更改权限,将host改为%,如果报ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY’ 不用理会
update user set host='%' where user='root';
5.select user,host from user;
6.刷新权限
flush privileges;
7.退出客户端,重启mysql,然后再次使用SQLyog去连接
测试连接,出现如下界面就是成功了,如果报错,尝试关闭虚拟机防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

2.2 搭建主从复制
2.2.1 配置节点信息
找到my.cnf配置文件,rpm方式安装在/etc下没有该文件,mysql默认启动的时候会加载/usr/share/mysql/my-medium.cnf,只需要将这个文件复制到/etc下改名为my.cnf即可
配置主节点:
1.执行 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
2.编辑 vi /etc/my.cnf文件
3.更改如下内容:
server-id = 保证唯一,建议配置成ip地址第四位
log-bin=mysql-bin 为了让主机生成二进制SQL日志执行文件
4.重启mysql服务器
5.查看当前server-id是否生效,使用sqlyog工具查看,如果返回值为0或者1代表是默认的
SHOW VARIABLES LIKE 'server_id'
我这里主机配置的是111

6.查看当前主服务器状态,如果看到的不是null代表成功~
SHOW MASTER STATUS

配置从节点:
1.执行 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
2.编辑 vi /etc/my.cnf文件
3.更改如下内容:
server-id = 122
log-bin=mysql-bin
这一步设置的是要同步的数据库,此处用test测试,如需同步多个数据库,多添加几条如下代码,更换成相应数据库名即可
binlog_do_db=test
4.重启mysql服务器
5.查看当前server-id是否生效,使用sqlyog工具查看,如果返回值为0或者1代表是默认的
SHOW VARIABLES LIKE 'server_id'
2.2.2 设置服务器读取权限
主服务器创建一个账号,将账号分配从服务器,从服务器拿到该账号然后才可以执行同步数据操作
GRANT REPLICATION SLAVE ON *.* TO 'chxinz'@'%' IDENTIFIED BY '123456';

2.2.3 从服务器执行同步
从服务器执行同步操作,使用主服务器生成的权限账号,将二进制文件同步
##设置同步,根据主服务器ip地址,生成的权限账号的用户名和密码以及二进制文件名称还有文件大小进行同步
CHANGE MASTER TO MASTER_HOST='192.168.42.111',MASTER_USER='chxinz',MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=243;

主机:
##开启同步
START SLAVE
此时,在主机test数据库创建一个test001表

从机也同步了这个表

MySQL优化(三)——主从复制的更多相关文章
- MySQL优化三(InnoDB优化)
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 【Mysql优化三章】第一章
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/Bv5f4b8Peex/article/details/78130845 如今网上的好多mysql优化 ...
- MySQL优化三 表结构优化
由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大 ...
- MySQL优化(三):优化数据库对象
二.优化数据库对象 1.优化表的数据类型 应用设计的时候需要考虑字段的长度留有一定的冗余,但不推荐很多字段都留有大量的冗余,这样既浪费磁盘空间,也在应用操作时浪费物理内存. 在MySQL中,可以使用函 ...
- MySQL 优化 (三)
参数优化 query_cache_size (1) 简介: 查询缓存简称QC,使用查询缓冲,mysql将查询结果存放在缓冲区中,今后对于同样的select语句(区分大小写),将直接从缓冲区中读取结果. ...
- mysql优化三
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一 ...
- MySql优化之主从复制
第一步: 配置节点信息(配置完毕重启mysql) 找到my.cnf配置文件,这个文件在etc目录下使用命令修改my.cnf文件 vi /etc/my.cnf 主节点配置: server-id =55 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)
页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ① 配置php.ini ...
- mysql优化(三)–explain分析sql语句执行效率
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
随机推荐
- 【python爬虫】windoes的爬虫中文乱码现象,通用转码解决
page = session.get(url="https://www.qidian.com/") page.encoding = page.apparent_encoding p ...
- k8s系列---基于canal的网络策略
文章拷自:http://blog.itpub.net/28916011/viewspace-2215383/ 加上自己遇到的问题简单记录 安装文档:https://docs.projectcalico ...
- 优雅地使用 C++ 制作表格:tabulate
作者:HelloGitHub-ChungZH 0x00 介绍 tabulate tabulate 是一个使用 C++ 17 编写的库,它可以制作表格.使用它,把表格对齐.格式化和着色,不在话下!你甚至 ...
- mac chrome
command + < 可以直接跳转到谷歌设置的页面去.
- CCS过渡和动画
过渡 过渡能让使用过渡的元素在样式发生变化时(例如鼠标划过,单击按钮,点击图片时,颜色,尺寸,位置等样式发生变化),定义变化过程中的动画,让变化不再是瞬间产生. 过渡样式使用transition定义, ...
- Codeforces 1301B Motarack's Birthday(二分)
题目链接:http://codeforces.com/problemset/problem/1301/B 思路: (1)都是-1的情况 (2)只有一个除-1之外的数 (3)至少有两个除-1之外的不同的 ...
- go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin)
目录 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) zipkin使用demo 数据持久化 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin ...
- 根据js轮播图原理写出合理的结构与样式、并实现js交互效果
在JS中,能用 . 的地方一般都可以用 [ ] 取代 index.html <!DOCTYPE html> <html lang="en"> <hea ...
- Umi 小白纪实(三)—— 震惊!路由竟然如此强大!
在<Umi 小白纪实(一)>中有提到过简单的路由配置和使用,但这只是冰山一角 借用一句广告词,Umi 路由的能量,超乎你的想象 一.基本用法 Umi 的路由根结点是全局 layout s ...
- P2918 [USACO08NOV]买干草Buying Hay
链接:Miku ---------------- 这就是一个完全背包的板子题 ---------------- 我们把重量当作重量,开销当作价值,那么这个题就是个求价值最小的完全背包 然而题目上说了是 ...