mysql主从配置

[原创]mysql 5.6安装配置,主从分离,读写分离简单教程

依然范特西╮ 提交于 2019-12-02 14:38:53
文章中参考使用了多个博客的资料,汇总而成!其流程准确性被人亦本人实践! https://blog.csdn.net/qq_35206261/article/details/81321201 https://www.cnblogs.com/qianniao12/p/8011222.html https://blog.csdn.net/qq_35206261/article/details/81321201 https://blog.csdn.net/why15732625998/article/details/80463041 一:Mysql5.6的卸载与安装 安装前需要卸载已有的mysql 查看mysql是否运行# service mysql status 是,则关闭 # service mysql stop 查看是否有安装 # find / -name mysql 删除找出的目录 # rm -rf 目录名 删除mysql相关配置文件 # rm -rf /etc/my.cnf # rm -rf /etc/init.d/mysql 删除mysql用户以及用户组 查看 # id mysql 删除用户# userdel mysql 2. 下载安装 mysql · 官网下载 mysql5.6 · 下载版本 版本选择 Linux-Generic, 选择 64 位 mysql 下载 ·

MySQL慢查询配置

不打扰是莪最后的温柔 提交于 2019-12-02 14:29:29
慢查询日志是由一些SQL语句构成的,当查询时间超过了long_query_time的值时会生成慢查询日志,long_query_time的最小值是1s,默认值是10s。 检查MySQL慢查询是否开启: [Python] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 8 9 mysql> show variables like '%slow%' ; + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | Variable_name | Value | + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | slow_launch_time | 2 | | slow_query_log | OFF | | slow_query_log

Mysql主从同步实战

余生长醉 提交于 2019-12-02 12:52:00
1、环境说明 os:ubuntu16.04 mysql:5.7.17 下面的实战演练,都是基于上面的环境。当然,其他环境也大同小异。 2、进入实战 工具 2台机器: master IP:192.168.33.22 slave IP:192.168.33.33 master机器上的操作 1、更改配置文件 我们找到文件 /etc/mysql/mysql.conf.d/mysqld.cnf 。 配置如下: bind-address = 192.168.33.22 #your master ip server-id = 1 #在master-slave架构中,每台机器节点都需要有唯一的server-id log_bin = /var/log/mysql/mysql-bin.log #开启binlog 2、重启mysql,以使配置文件生效。 sudo systemctl restart mysql 3、创建主从同步的mysql user。 $ mysql -u root -p Password: ##创建slave1用户,并指定该用户只能在主机192.168.33.33上登录。 mysql> CREATE USER 'slave1'@'192.168.33.33' IDENTIFIED BY 'slavepass'; Query OK, 0 rows affected (0.00 sec)

shell脚本编写主从centos6

微笑、不失礼 提交于 2019-12-02 10:37:43
[shell脚本编写主从centos7(https://blog.csdn.net/weixin_45697341/article/details/102752855) 执行之前配好ssh免密 和关闭防火墙 注意改成自己的IP vim aa.sh #!/bin/bash yum -y install mysql mysql-server #主安装mysql sed -i '/0/a\server-id=1' /etc/my.cnf #sed修改主配置 sed -i '/1/a\log-bin=mysql-bin' /etc/my.cnf service mysqld start #启动mysql mysql -e "grant all on *.* to he@'%' identified by '123';" #shell mysql授权 mysql -e "flush privileges;" file=`mysql -e "show master status"|awk '/mysql/{print $1}'` #shell查看mysql二进日志 rz=`mysql -e "show master status"|awk '/mysql/{print $2}'` yum -y install expect #安装免交互 #以下属于expect免交互 /usr/bin

shell脚本编写主从centos7

不羁的心 提交于 2019-12-02 10:37:30
shell脚本编写主从centos6 首先安装阿里源好执行expect安装 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 执行之前配好ssh免密 和关闭防火墙 注意改成自己的IP vim aa.sh #!/bin/bash yum -y install mariadb mariadb-server #主安装mysql sed -i '/0/a\server-id=1' /etc/my.cnf #sed修改主配置 sed -i '/1/a\log-bin=mysql-bin' /etc/my.cnf systemctl restart mariadb #启动mysql mysql -e "grant all on *.* to he@'%' identified by '123';" #shell mysql授权 mysql -e "flush privileges;" file=`mysql -e "show master status"|awk '/mysql/{print $1}'` #shell查看mysql二进日志 rz=`mysql -e "show master status"|awk '/mysql/{print $2}'` yum -y

MySQL高级

别等时光非礼了梦想. 提交于 2019-12-02 09:24:13
文章目录 MySQL高级 下载与安装 修改配置文件 设置字符集 mysql架构 连接层 服务层 引擎层 存储层 存储引擎 MyISAM和InnoDB 索引 索引优势 索引劣势 索引分类 基本语法 索引结构 需要创建索引的条件 不需要创建索引的情况 性能分析 MySQL Query Optimizer MySQL常见瓶颈 Explain explain字段解释 索引优化 索引分析 索引失效 注意 查询截取分析 查询优化 order by关键字优化 group by关键字优化 慢查询日志 慢查询日志查看与开启 日志分析工具mysqldumpslow 批量数据脚本 随机产生字符串 随机产生范围数字 存储过程批量插入数据 show profile 分析步骤 全局查询日志 mysql锁机制 锁的分类 三锁(表、行、页) 表锁(偏读) 表锁分析 行锁(偏写) 并发事务处理的问题 事务隔离级别 无索引行锁升级为表锁 间隙锁的危害 如何锁定一行 行锁分析 优化建议 页锁 主从复制 复制基本原理 复制基本规则 一主一从配置 MySQL高级 下载与安装 MySQL下载地址 安装 rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm 修改初始密码 /usr

mysql主从复制

断了今生、忘了曾经 提交于 2019-12-02 09:21:20
一:MYSQL REPLICATION 什么是MYSQL replication Replication可以实现将数据从一台数据库服务器(master)复制到一或多台数据库服务器(slave) 默认情况下属于异步复制,无需维持长连接 通过配置,可以复制所有的库或者几个库,甚至库中的一些表 是MySQL内建的,本身自带的 REPLICATION的作用 1、Fail Over 故障切换 2、Backup Server 备份服务,无法对SQL语句执行产生的故障恢复,有限的备份 3、High Performance /pə’fɔːm(ə)ns/ 高性能,可以多台slave,实现读写分离 REPLICATION如何工作 整体上来说,复制有3个步骤: (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); (2) slave将master的binary log events拷贝到它的中继日志(relay log); (3) slave重做中继日志中的事件,修改salve上的数据。 mysql主从复制中: 第一步:master记录二进制日志。在每个事务更新数据完成之前,master在二进制日志记录这些改变。MySQL将事务写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后

mysql优化

风格不统一 提交于 2019-12-02 09:19:22
Mysql优化 字段设计 遵循三范式。你想想你们公司如果连数据库字段都没有一个规则的话,也就是说你们公司开发都没有一个限制,那么你们是不是开发起来对接起来很麻烦呀,包括后面来的人接手前面的工作,完成搞不懂前一个 人的开发流程。这样维护起来是不是很麻烦? 原则:定长和非定长数据类型的选择 decimal不会损失精度,存储空间会随数据的增大而增大。double占用固定空间,较大数的存储会损失精度。非定长的还有varchar、text 原则:尽可能使用 not null 非 null 字段的处理要比 null 字段的处理高效些!且不需要判断是否为 null 。 因为 null 在 MySQL中,不好处理,存储需要额外空间,运算也需要特殊的运算符。 语句优化: 语句 1:select * from student limit 9,4 语句 2:slect * from student limit 4 offset 9 // 语句1和2均返回表student的第10、11、12、13行 // 语句2中的4表示返回4行,9表示从表的第十行开始 再 说一下我数据库查询这里的思路,因为逐步写入 EXCEL的数据实际上来自Mysql的分页查询,大家知道其语法是 LIMIT offset, num 不过随着 offset 越来越大 Mysql在每次分页查询时需要跳过的行数就越多

MySQL 主从库配置参数详解

自作多情 提交于 2019-12-02 08:58:43
#master 配置参数 server_id 复制中唯一标示 log-bin binlog日志路径 log-bin-index binlog 日志索引文件 binlog_format binlog格式, Statement ,ROW MIXED max_binlog_size binlog日志文件大小 默认大小1G sync_binlog 多少个SQL以后调用fdatasync()函数刷新binlog to disk #fsync 是完全刷新到磁盘,fdatasync 只刷新数据,不刷新metadata expire_logs_days binlog 保留多少天 log_bin_trust_function_creators 开启binlog 时,是否允许创建存储程序(除非有super权限,或者指定deterministic reads sql data,no sql) auto_increment_increment #在数字表列auto_increment 每次增长的步长和幅度 auto_increment_offset # 在数字表列auto_increment 起始位置 binlog-do-db binlog记录的数据库 binlog-ignore-db binlog 不记录的数据库 log_bin_trust_function_creators 开启binlog

sql --windows下mysql多实例

寵の児 提交于 2019-12-02 07:00:04
最近在配置 单机版的 mysql主从复制,就涉及到在windows上安装多个mysql实例。步骤如下 ###1.从官网上下载mysql 官网路径 http://dev.mysql.com/downloads/mysql/ 我下载的是mysql-5.7.14-winx64.zip ###2.解压,安装 mysql的安装分为两种: 1.msi格式,这种格式直接点击安装,按照提示一直点击到底就可以了。 2.zip格式,我就是用这种格式,这种格式自己解压后,简单的配置就可以使用了。 将如上下载的zip包解压到你的某个目录下,我的是 备注:解压后,是没有data文件夹的,见我这篇文章生成data文件夹。 https://my.oschina.net/u/2312022/blog/743581 ###3.配置环境变量 这一步不是必须的。 我的电脑-->属性-->高级-->环境变量 在系统变量中找到path,在最后添加上 你的解压mysql bin文件夹的路径,我的是 再来说下这一步为啥不是必须的,配置了环境变量后,在cmd的dos下,直接输入:mysql -u root -p 即可到输入密码的步骤;如果没有配置环境变量的话,就会出现如下现象 这个时候需要进入到mysql bin目录下才可以,如下 所以说,配置环境变量不是必须的。 ###4.修改配置文件 在你的解压路径下,有个my