mysql集群搭建及性能调优之一(集群搭建)
本文讲解mysql的集群搭建
文章目录
- 1. docker安装并启动三台mysql
- 2. 创建基础库并设置可访问用户
- 3. 主从配置
- 3.1 主服务器配置
- 3.2 从服务器配置
1. docker安装并启动三台mysql
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD="123456" \--privileged=true -v /c/Users/Public/conf/my.cnf:/etc/mysql/my.cnf \--name=mysql1 mysql:5.6.17
参数说明:
-d 后台运行容器并打印容器id
-p 指定端口映射 主机:容器
-e 设置环境变量
–privileged 是否容器有足够的权限(root)
-v 指定目录映射
–name 指定容器名称
docker exec -it mysql1 /bin/bash
第二台
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD="123456" \--privileged=true -v /c/Users/Public/conf/my.cnf:/etc/mysql/my2.cnf \--name=mysql1 mysql:5.6.17
第三台
docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD="123456" \--privileged=true -v /c/Users/Public/conf/my.cnf:/etc/mysql/my3.cnf \--name=mysql1 mysql:5.6.17
2. 创建基础库并设置可访问用户
分别在三台mysql上建立test数据库
create database test character set utf8 collate utf8_general_ci;
设置mysql用户及权限
grant all privileges on test.* to culter@'%' identified by "123321";
flush privileges;
3. 主从配置
主:192.168.0.97:3306
从:192.168.99.100:3307
192.168.99.100:3308
192.168.99.100:3309
3.1 主服务器配置
# 主从复制需要开启binglog
log-bin=mysql-bin# 二进制格式推荐 mixed
binlog_format=mixed# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
设置复制权限:
grant replication slave on *.* to 'culter'@'%' identified by '123321';
如果指定数据库 会报错:
mysql> grant replication slave on test.* to 'culter'@'%' identified by '123321';ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
mysql> grant replication slave on *.* to 'culter'@'%' identified by '123321';
Query OK, 0 rows affected (0.00 sec)
展示主服务器状态:
show master status;
下面的从库配置会使用到:
3.2 从服务器配置
step 1 更改配置文件
分别在从服务器中的my.cnf中添加 将id分别改为 2,3,4
[mysqld]log-bin=mysql-bin
binlog_format=mixed
server-id = 2
step 2 配置同步主库源
然后我们对三台机器分别设置
change master to master_host='192.168.0.97',master_user='culter',master_password='123321',master_log_file='mysql-bin.000003',master_log_pos=204;
完整语法:
CHANGE MASTER TOMASTER_HOST='192.168.0.97',MASTER_USER='culter',MASTER_PASSWORD='123321',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=325,MASTER_AUTO_POSITION=0;
报错:
ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
注意:由于我使用的docker安装的,并指定了my.cnf的映射目录,导致 /etc/mysql/my.cnf
无论怎样
更改权限,都无法加载,会报如下错误(必须进入mysql对应的容器内部执行命令才能看到)
root@8251dd588c9c:/usr/local/mysql# mysql -uculter -p
Warning: World-writable config file '/etc/mysql/my.cnf' is ignored
这个错误的原因是因为mysql认为my.cnf
的操作权限是777,任何人都能操作,所以存在安全隐患,就直接忽略了这个配置文件。
但是由于我们无法更改,只能新建一个 /etc/my.cnf
然后重新加入上面的内容,并重启容器
命令执行顺序
docker exec -it mysql1 /bin/bash
vim /etc/my.cnf
内容
[mysqld]log-bin=mysql-bin
binlog_format=mixed
server-id = 2
重启
docker restart mysql1
step 3 启动主从复制
mysql> slave start;
报错:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slave start' at line 1
mysql> start slave ;
Query OK, 0 rows affected (0.01 sec)
根据部分mysql版本的原因,可能会出现命令的不一致,需要更改命令为:
mysql> start slave;
码字不易,打赏一下小弟吧
mysql集群搭建及性能调优之一(集群搭建)相关推荐
- 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》...
优化Linux内核参数/etc/sysctl.conf sysctl <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...
- 循序渐进linux——基础知识、服务器搭建、系统管理、性能调优、集群应用_第四讲,Proxmox部署与应用...
大家好!今天小编继续给大家介绍Ceph存储系统第四讲<Proxmox部署与应用>.在前几讲给大家介绍了Ceph存储系统基础知识,大家应该已经对Ceph有个大概了解,当然了解归了解,在实际工 ...
- 【网站架构】Nginx负载均衡宕机怎么办?Nginx性能调优、集群、高可用方案
大家好,欢迎来到停止重构的频道. 本期,我们讨论Nginx的性能调优. Nginx一般是作为网站系统的反向代理或负载均衡,但这里有一个问题,负载均衡可以绑定多个后端服务器. 一个后端服务器宕机后, ...
- linux mysql io压力大_MySQL性能调优(四) Linux 磁盘IO
1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...
- linux从新手到高手,1.3 养成良好的Linux操作习惯免费阅读_循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用免费全文_百度阅读...
看出点玄机了吗?在上例中,其实"/etc/*"就代表了/etc目录下的所有文件以及子目录,而这刚好是zip命令"-r"选项完成的功能. 5)将/opt/etc. ...
- MySQL教程——4 高级篇(性能调优、锁)
1. 应用优化 前面章节,我们介绍了很多数据库的优化措施.但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力. 1.1 使用连接池 对于访问数据库 ...
- 《MySQL管理之道:性能调优、高可用与监控》china-pub首发!
预售网址:http://product.china-pub.com/3769079 一年多的辛苦终于出版了,感谢为我写序的朋友们!希望各位读者多多支持,如有任何问题,请直接联系我. 本文转自hcymy ...
- 千亿级数据量kafka集群性能调优实战总结
1.(千亿级kafka集群性能调优)集群信息 一个kafka集群,40台broker,基于Ambari,hdp管理(ambari_v2.5,hdp_v2.6) 10台broker配置5块3T盘 30台 ...
- mysql性能监控 调优_MySQL管理之道:性能调优、高可用与监控(第2版)
MySQL管理之道:性能调优.高可用与监控(第2版) 作者:贺春旸 著 出版日期:2016年08月 文件大小:71.36M 支持设备: ¥50.00在线试读 适用客户端: 言商书局 iPad/iPho ...
最新文章
- python dataframe 计算上下两行的差值_用Python进行数据清洗!
- js 中转换成list集合_java stream中Collectors的用法
- MacBook开机自动连接iPad好评
- Pthreads mutex vs Pthreads spinlock
- webflux系列--reactor功能
- WZK的排名(jzoj 1995)
- php里的stdclass,PHP中的stdClass是什么?
- leetcode 100.Same Tree
- 第八课 魔棒 画笔工具和铅笔工具
- ASP+XML+JavaScript实现动态无限级联动菜单
- iso图像测试卡_走进真4K |图像质量测试有哪些“硬”标准?
- JsonCpp的使用
- scrum 12.8
- 一款HP的本本大家帮忙看一下
- Java函数式编程详解
- 秋意浓(2018.9.28)
- 用python画好看的圣诞树
- vue.js:597 [Vue warn]: Error in callback for watcher dat: TypeError: Cannot read property 'call'
- 王怀南:从谷歌之父到育儿专家
- 研发人员绩效考核工作失败的几方面表现
热门文章
- JAVA 单张牌出牌逻辑 实现斗地主
- openlayer加载天地图 并设置地图颜色为科技蓝
- 什么是AR增强现实技术
- Angr 从入门到放弃(二)
- 新网站如何提交链接让百度更快速的收录
- 一天一道ctf 第25天(md5强碰撞)
- 使用telnet命令检测端口是否正常报错“telnet: connect to address 192.168.88.132: Connection refused“
- DDPG中的Ornstein-Uhlenbeck过程怎么理解
- 吸烟者问题——进程同步
- 个人简历--软件工程师 4年