07 2020 档案

摘要:1.思路 1.找到新的主库 2.将新的主库从Atlas中配置下线 3.保存到配置文件 2.写脚本 [root@db03 ~]# vim switch_Atlas.sh #/bin/bash #1.获取新的主库IP new_master=`grep "as a new master" /service 阅读全文
posted @ 2020-07-29 20:07 等等马上就好 阅读(165) 评论(0) 推荐(1)
摘要:1.Atals介绍 1.简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。它在MySQL官方推出的MySQL-Proxy 阅读全文
posted @ 2020-07-29 20:06 等等马上就好 阅读(217) 评论(0) 推荐(0)
摘要:1.node节点上的脚本 [root@db02 ~]# vim start_mha.sh #/bin/bash # 判断数据库是否挂掉 mysql_pid=`ps -ef | grep [m]ysqld | wc -l` # 如果挂掉则重启,如果没挂则杀掉重启 if [ $mysql_pid -eq 阅读全文
posted @ 2020-07-29 19:55 等等马上就好 阅读(217) 评论(0) 推荐(0)
摘要:1.VIP漂移的两种方式 1.keeplaived的方式 2.MHA自带的脚本进行VIP漂移 2.配置MHA读取VIP漂移脚本 #编辑配置文件 [root@db03 ~]# vim /service/mha/app1.cnf #在[server default]标签下添加 [server defau 阅读全文
posted @ 2020-07-28 21:03 等等马上就好 阅读(748) 评论(0) 推荐(0)
摘要:1.配置MHA实时备份binlog [root@db03 ~]# vim /service/mha/app1.cnf [root@db03 ~]# vim /service/mha/app1.cnf ...... [binlog1] # 把主库的binlog日志备份到本地 no_master=1 h 阅读全文
posted @ 2020-07-28 20:58 等等马上就好 阅读(284) 评论(0) 推荐(0)
摘要:1.MHA主库切换机制 1.读取配置中的指定优先级 candidate_master=1 check_repl_delay=0 2.如果数据量不同,数据量多的为主库 3.如果数据量相同,按照主机标签,值越小优先级越高 # 不问顺序 2.主机标签优先级测试 #配置MHA [root@db03 ~]# 阅读全文
posted @ 2020-07-28 20:56 等等马上就好 阅读(229) 评论(0) 推荐(0)
摘要:1.准备三台机器 第一台:IP:10.0.0.51 db01 2G内存 第二台:IP:10.0.0.52 db02 2G内存 第三台:IP:10.0.0.53 db03 2G内存 2.简介 MHA能够在较短的时间内实现自动故障检测和故障转移,通常在10-30秒以内;在复制框架中,MHA能够很好地解决 阅读全文
posted @ 2020-07-27 21:25 等等马上就好 阅读(288) 评论(0) 推荐(0)
摘要:1.什么是GTID GTID(Global Transaction ID)是对于一个已提交事务的唯一编号,并且是一个全局(主从复制)唯一的编号。 它的官方定义如下: GTID = source_id :transaction_id 7E11FA47-31CA-19E1-9E56-C43AA21293 阅读全文
posted @ 2020-07-26 19:13 等等马上就好 阅读(240) 评论(0) 推荐(0)
摘要:1.过滤复制的方式 1.查看master status mysql> show master status; + + + + + + | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | + + + + + 阅读全文
posted @ 2020-07-26 19:06 等等马上就好 阅读(400) 评论(0) 推荐(0)
摘要:1.半同步复制的作用 解决主从数据一致性问题 2.半同步复制工作原理的变化 1. 主库执行新的事务,commit时,更新 show master status\G ,触发一个信号给 2. binlog dump 接收到主库的 show master status\G信息,通知从库日志更新了 3. 从 阅读全文
posted @ 2020-07-26 18:57 等等马上就好 阅读(414) 评论(0) 推荐(0)
摘要:1主1从,从库延时5分钟,主库误删除1个库 故障恢复思路: 1. 5分钟之内 侦测到误删除操作 2. 停从库SQL线程 3. 截取relaylog 起点 :停止SQL线程时,relay最后应用位置 终点:误删除之前的position(GTID) 4. 恢复截取的日志到从库 5. 从库身份解除,替代主 阅读全文
posted @ 2020-07-26 18:53 等等马上就好 阅读(179) 评论(0) 推荐(0)
摘要:延时从库只做备份,不提供任何对外服务 为什么要有延时从: 数据库故障? 物理损坏 主从复制非常擅长解决物理损坏. 逻辑损坏 普通主从复制没办法解决逻辑损坏 1.配置延时复制(已经有主从) 1.停止主从 mysql> stop slave; Query OK, 0 rows affected (0.0 阅读全文
posted @ 2020-07-26 18:39 等等马上就好 阅读(208) 评论(0) 推荐(0)
摘要:1.主库操作 1.主库配置server_id 2.主库开启binlog 3.主库授权从库连接的用户 4.查看binlog信息 5.导出所有数据 2.从库操作 1.从库配置server_id(跟主库不一致) 2.确认主库授权的用户可以连接主库 3.同步主库数据 4.配置主库信息(change mast 阅读全文
posted @ 2020-07-24 20:56 等等马上就好 阅读(129) 评论(0) 推荐(0)
摘要:1.安装 #上传文件包 [root@db03 ~]# rz percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm #下载epel源 wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo 阅读全文
posted @ 2020-07-24 20:49 等等马上就好 阅读(159) 评论(0) 推荐(0)
摘要:1.常用参数 1.不加参数:用于备份单个表 1)备份库 [root@db02 ~]# mysqldump ku > /tmp/ku.sql 2)备份表 [root@db02 ~]# mysqldump ku test > /tmp/ku.sql 3)备份多个表 [root@db02 ~]# mysq 阅读全文
posted @ 2020-07-24 20:40 等等马上就好 阅读(297) 评论(0) 推荐(0)
摘要:1.mysql客户端 mysql mysqladmin mysqldump 2.备份的原因 1.备份就是为了恢复。 2.尽量减少数据的丢失(公司的损失) 3.备份的类型 1.冷备:停库,停服务,备份 2.热备:不停库,不停服务,备份 3.温备:不停服务,锁表(阻止数据写入),备份 #冷备份: 这些备 阅读全文
posted @ 2020-07-24 20:33 等等马上就好 阅读(141) 评论(0) 推荐(0)
摘要:1.作用 1.是将mysql服务器中影响数据库性能的相关SQL语句记录到日志文件 2.通过对这些特殊的SQL语句分析,改进以达到提高数据库性能的目的 2.配置 [root@db01 ~]# vim /etc/my.cnf [mysqld] #指定是否开启慢查询日志 slow_query_log = 阅读全文
posted @ 2020-07-24 20:30 等等马上就好 阅读(108) 评论(0) 推荐(0)
摘要:1.开启二进制日志 [root@db02 ~]# vim /etc/my.cnf [mysqld] server_id log_bin=/usr/local/mysql/data/mysql-bin 2.查看二进制日志 #物理查看 [root@db02 ~]# ll /usr/local/mysql 阅读全文
posted @ 2020-07-24 20:28 等等马上就好 阅读(258) 评论(0) 推荐(0)
摘要:1.mysql错误日志 1.错误日志默认是关闭的 2.默认路径是 $datadir/,默认的名字是'主机名.err' 3.配置方式(一般场景所有配置) [root@db02 ~]# vim /etc/my.cnf [mysqld] server_id=1 basedir=/usr/local/mys 阅读全文
posted @ 2020-07-24 20:20 等等马上就好 阅读(92) 评论(0) 推荐(0)
摘要:1.什么是锁 “锁”顾名思义就是锁定的意思。 2.作用 在事务ACID特性过程中,“锁”和“隔离级别”一起来实现“I”隔离性的作用。 3.锁的类别 排他锁:保证在多事务操作时,数据的一致性。(在我修改数据时,其他人不得修改) 共享锁:保证在多事务工作期间,数据查询时不会被阻塞。 乐观锁:多实务操作时 阅读全文
posted @ 2020-07-24 20:19 等等马上就好 阅读(164) 评论(0) 推荐(0)
摘要:1.事务日志 1.redo log redo,顾名思义“重做日志”,是事务日志的一种 作用: 在事务ACID过程中,实现的是“D”持久化的作用。 REDO:记录的是,内存数据页的变化过程 特性:WAL(Write Ahead Log)日志优先写 文字描述流程: # 修改 1)首先将表中id=1的行所 阅读全文
posted @ 2020-07-24 20:13 等等马上就好 阅读(151) 评论(0) 推荐(0)
摘要:1.什么是事务? 主要针对DML语句(update,delete,insert) 1.一组数据操作执行步骤,这些步骤被视为一个工作单元: 1)用于对多个语句进行分组 2)可以在多个客户机并发访问同一个表中的数据时使用 2.所有步骤都成功或都失败 1)如果所有步骤正常,则执行 2)如果步骤出现错误或不 阅读全文
posted @ 2020-07-20 19:06 等等马上就好 阅读(182) 评论(0) 推荐(0)
摘要:5.5版本以后出现共享表空间概念 表空间的管理模式的出现是为了数据库的存储更容易扩展 5.6版本中默认的是独立表空间 1.共享表空间(ibdata1) 1.存储的内容 1.系统数据 2.undo redo、undo日志,事务日志 3.临时表 2.概念 1.优点: 可以将表空间分成多个文件存放到各个磁 阅读全文
posted @ 2020-07-20 19:02 等等马上就好 阅读(161) 评论(0) 推荐(0)
摘要:1.innodb核心特性 MVCC 事务 行级锁 #innodb支持行级锁,myiasm支持表级锁 热备份 #innodb支持热备,myisam不支持热备 自动故障恢复 Crash Safe Recovery 2.存储引擎相关命令 1.查看当前数据库配置的存储引擎 mysql> SELECT @@d 阅读全文
posted @ 2020-07-20 18:58 等等马上就好 阅读(248) 评论(0) 推荐(0)
摘要:mysql的文件系统 1.mysql提供的存储引擎 01)InnoDB 适合数据增删改查 02)MyISAM 存储一些只读的数据 03)MEMORY 支持hash索引 04)ARCHIVE 05)FEDERATED 06)EXAMPLE 07)BLACKHOLE 08)MERGE 09)NDBCLU 阅读全文
posted @ 2020-07-20 18:54 等等马上就好 阅读(118) 评论(0) 推荐(0)
摘要:1.注意事项 1.创建索引时会将数据重新进行排序 2.创建索引会占用磁盘空间,所以索引不是越多越好 3.在同一列上避免创建多种索引 4.避免在数据很长的字段上创建索引,如果要创建就创建前缀索引 2.前缀索引 # 根据前四个字符创建前缀索引 mysql> alter table test add in 阅读全文
posted @ 2020-07-17 19:43 等等马上就好 阅读(321) 评论(0) 推荐(0)
摘要:1.什么是索引 1.索引就好比一本书的目录,它能让你更快的找到自己想要的内容。 2.让获取的数据更有目的性,从而提高数据库检索数据的性能。 2.索引的种类 1.BTREE: B+树索引(Btree,B+tree,B*tree) 2.HASH:HASH索引(memery存储引擎支持) 3.FULLTE 阅读全文
posted @ 2020-07-17 19:35 等等马上就好 阅读(557) 评论(0) 推荐(0)
摘要:作用: # 多表联查,联表查询 1.传统连接 1.集合 #集合 [xiaoqiu,xiaowang,qiandao] [80,90,100] #数据库 id:[1,2,3] name:[xiaoqiu,xiaowang,qiandao] id:[1,2,3] mark:[80,90,100] 2.建 阅读全文
posted @ 2020-07-17 19:28 等等马上就好 阅读(635) 评论(0) 推荐(0)
摘要:1.字符集 # Mysql 的字符集有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定字符集 # 字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等 最早的字符集:ASCII码 中国的字符集:gbk,utf 阅读全文
posted @ 2020-07-16 19:53 等等马上就好 阅读(1065) 评论(0) 推荐(0)
摘要:1.select查询语句 1.查询表中所有的数据 # 很危险,数据量过大,容易导致down机 mysql> select * from student; # 先查询数据总量,然后决定是否可以查询所有数据 mysql> select count(*) from student; + + | count 阅读全文
posted @ 2020-07-15 15:01 等等马上就好 阅读(1289) 评论(0) 推荐(0)
摘要:1.insert 命令 1.查看表结构 mysql> desc student; + + + + + + + | Field | Type | Null | Key | Default | Extra | + + + + + + + | id | int(11) | NO | PRI | NULL 阅读全文
posted @ 2020-07-15 14:55 等等马上就好 阅读(445) 评论(0) 推荐(0)
摘要:sql语句的语义种类 DDL: 数据定义语言 Data Definition Language DCL: 数据控制语言 Data Control Language DML: 数据操作语言 Data Manipulate Language DQL: 数据查询语言 Data Query Language 阅读全文
posted @ 2020-07-14 18:27 等等马上就好 阅读(236) 评论(0) 推荐(0)
摘要:1.mysql连接后快捷键 \? #帮助 \c #终止当前命令 \r #重连数据库 \d #修改命令结束符 \e #写入文件,同时执行多条命令 \G #垂直显示结果 \q #退出数据库 \g #命令结束 \h #帮助 \t #取消写入文件 \T #将执行过程与结果写入一个文件 \p #打印一次命令 阅读全文
posted @ 2020-07-14 18:12 等等马上就好 阅读(159) 评论(0) 推荐(0)
摘要:1.数据库配置方式 1.预编译 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \ -DMYSQL_DATADIR=/application/mysql-5.7.20/data \ -DMYSQL_UNIX_ADDR=/applica 阅读全文
posted @ 2020-07-14 17:59 等等马上就好 阅读(1160) 评论(0) 推荐(0)
摘要:sudo 身份提权(更安全) su 命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全。 为了改进这个问题,从而产生了sudo这个命令。 sudo 执行一个仅有root身份才能执行的命令是可以办到的,但是需要输入密码,这 阅读全文
posted @ 2020-07-13 21:00 等等马上就好 阅读(157) 评论(0) 推荐(0)
摘要:1.mysql启动关闭流程 1.启动数据库 1.systemctl start mysqld 2./etc/init.d/mysqld start 3.mysqld_safe --defaults-file=/etc/my.cnf 4.mysqld --defaults-file=/etc/my.c 阅读全文
posted @ 2020-07-13 15:02 等等马上就好 阅读(331) 评论(0) 推荐(0)
摘要:####1.授权命令 grant all on *.* to root@'localhost' identified by '123'; grant all privileges on *.* to root@'localhost' identified by '123'; grant #授权命令 阅读全文
posted @ 2020-07-13 14:56 等等马上就好 阅读(159) 评论(0) 推荐(0)
摘要:1.在MySQL中,用户是怎么定义的 #mysql中,定义一个用户是: 用户名@'主机域' #用户名写法: 用户名如果是字符: mysql> create user root@'10.0.0.1'; 用户名是数字需要加引号: mysql> create user '123'@'10.0.0.1'; 阅读全文
posted @ 2020-07-13 14:41 等等马上就好 阅读(150) 评论(0) 推荐(0)
摘要:1.编译安装区别 #5.7在编译安装的时候多了一个boostorg库 [root@db02 mysql-5.7.20]# yum install -y gcc gcc-c++ automake autoconf [root@db02 mysql-5.7.20]# yum install make c 阅读全文
posted @ 2020-07-13 14:37 等等马上就好 阅读(6416) 评论(1) 推荐(0)
摘要:1.mysql程序结构 1.连接层 1.提供连接协议:TCP/IP 、SOCKET 2.提供验证:用户、密码,IP,SOCKET 3.提供专用连接线程:接收用户SQL,返回结果 通过以下语句可以查看到连接线程基本情况 mysql> show processlist; 2.sql层 1.接收连接层发过 阅读全文
posted @ 2020-07-12 16:39 等等马上就好 阅读(186) 评论(0) 推荐(1)
摘要:1.MYSQL的多实例 # mysql 多实例,也是多个配置文件启动数据库 mysql多个配置文件: 1.多个端口 2.多个socket文件 3.多个日志文件 4.多个srver_id 5.多个数据目录 # 实例 1.什么是单实例 一个进程 + 多个线程 + 一个预分配的内存空间 2.多实例 多个进 阅读全文
posted @ 2020-07-12 16:24 等等马上就好 阅读(229) 评论(0) 推荐(1)
摘要:1.主库操作 1.开启binlog [root@db01 ~]# cat /etc/my.cnf [mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data port=3306 socket=/tmp/mysql.sock 阅读全文
posted @ 2020-07-12 16:08 等等马上就好 阅读(224) 评论(0) 推荐(0)
摘要:误删下所有的用户 # 删除一个用户(::1 是本机 ipv6 地址) mysql> drop user root@'::1'; Query OK, 0 rows affected (0.00 sec) # 删除所有用户 mysql> delete from mysql.user where 1=1; 阅读全文
posted @ 2020-07-10 12:01 等等马上就好 阅读(165) 评论(0) 推荐(0)
摘要:1.下载mysql包 [root@web01 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz 2.安装依赖 [root@m01 ~]# yum 阅读全文
posted @ 2020-07-10 09:18 等等马上就好 阅读(101) 评论(0) 推荐(0)
摘要:1.下载源码包 [root@db02 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46.tar.gz 2.安装依赖 [root@db02 ~]# yum install -y ncurses-devel 阅读全文
posted @ 2020-07-10 09:05 等等马上就好 阅读(160) 评论(0) 推荐(0)