mysql
文章平均质量分 91
啊哈??
个人博客:cpweb.top
展开
-
MySQL
1、mysql 安装2、使用systemd管理mysql3、mysql 用户和权限管理4、mysql 多实例配置5、mysql 版本升级6、mysql 版本降级7、mysql sql_mode8、什么是SQL9、mysql DDL10、mysql DML11、mysql select基础查询12、mysql ANSI连接查询13、mysql 子查询14、mysql 联合查询15、mysql 索引(待更新)16、mysql 存储引擎(待更新)17、mysql binlog日志原创 2020-11-17 20:33:29 · 73 阅读 · 0 评论 -
Atlas 实现读写分离
原文地址:https://www.cpweb.top/1124一、简介 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。 Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服...原创 2020-11-16 19:15:53 · 650 阅读 · 0 评论 -
mysql MHA高可用
原文地址:https://www.cpweb.top/1089一、简介 MHA能够在较短的时间内实现自动故障检测和故障转移,通常在10-30秒以内。在主从框架中,MHA能够很好地解决主从复制过程中的数据一致性问题,由于不需要在现有的主从框架中添加额外的服务器,仅需要一个manager节点,而一个Manager能管理多套复制,所以能大大地节约服务器的数量。另外,安装简单,无性能损耗,以及不需要修改现有的复制部署也是它的优势之处。 MHA可以监控主从复制环境中的主库,并在检测到主库故障时...原创 2020-11-13 19:22:59 · 234 阅读 · 0 评论 -
mysql 主从复制
原文链接:https://www.cpweb.top/1072一、简介 主从复制可以将一台主MySQL数据库服务器的数据实时自动复制到一台或多台从MySQL数据库服务器,实际上默认情况下主从复制是异步的。根据配置,可以复制数据库中的所有数据库、选定的数据库甚至选定的表。 MySQL 5.7支持不同的复制方法。传统方法基于复制主库二进制日志中的事件,从库需要主库的二进制日志文件及其中的位置点。而新方法基于全局事务标识符(GTID)是事务性的,从库并不需要去找主库的二进制日志文件及其中的...原创 2020-11-10 21:54:20 · 99 阅读 · 1 评论 -
XtraBackup 物理备份工具
原文地址:https://www.cpweb.top/1046一、工具介绍 XtraBackup是percona公司的一个产品,它是用于MySQL的开源热备份工具,在备份过程中不会锁表(针对InnoDB而言);它兼容多个MySQL版本,例如5.1、5.5、5.6和5.7,如果要用于MySQL 8 系列版本的话要下载XtraBackup 8系列工具。XtraBackup是一种物理备份工具,同物理备份工具还有MySQL商业版中提供的备份工具MEB。 官方文档:https://www.pe...原创 2020-11-09 22:06:06 · 246 阅读 · 0 评论 -
binlog2sql的应用
一、场景 每天晚上23:00进行数据库的全备和binlog备份。每天中午12:00,进行binlog备份。 故障:某人员周二上午10点误删了一个核心表,binlog和全备都是好的。 恢复思路: • 首先从全备中使用命令过滤出和核心表相关的语句,恢复到上一天晚上23:00状态。 • 然后从全备和binlog日志中找出开始和结束的position号,使用binlog2sql去指定过滤核心表相关的数据。 • 最后将过滤好数据拿到数据库中去恢复。 二、模拟环境(1)模拟原始数据mys原创 2020-11-06 20:13:16 · 176 阅读 · 0 评论 -
mysqldump 逻辑备份工具
原文链接:https://www.cpweb.top/1018一、备份的基本概念 在学习mysqldump命令之前,我们有必要了解下数据库备份的基本知识。 总体来说,从数据备份模式的角度来说,可分为物理备份 和 逻辑备份: • 逻辑备份:基于文件级的备份,一般是指使用软件技术从数据库中导出数据并写入到一个输出文件中。 • 物理备份:基于数据块级别的备份,一般是指直接复制包含数据的文件夹和文件。 数据备份的类型分为:冷备份、温备份、热备份: • 冷备份:也称为离线备份,是指...原创 2020-11-06 09:22:11 · 403 阅读 · 0 评论 -
安装mysql
一、获取软件包 这里我们选择MySQL 社区版5.7.28。MySQL版本分为企业版和社区版, 企业版是收费的,而社区版是开源免费的。 下载地址:https://downloads.mysql.com/archives/community/ 二、安装1、清理环境[root@db01 ~]# yum remove -y mariadb-libs2、创建用户[root@db01 ~]# useradd mysql3、创建相关目录并授权[root@db01 ~]# mkdir -p原创 2020-10-14 10:38:49 · 293 阅读 · 2 评论 -
mysql binlog日志中的GTID的应用
原文链接:https://www.cpweb.top/1000一、简介 GTID (Global Transaction ID) ,全局事务ID。是一个对于已提交事务的全局唯一的编号,随着事务记录到binlog中,用来标识事务,每一个事务都会有一个。 GTID 实际上是由 server_uuid + transaction_id 组成的: **server_uuid:**一个mysql实例的唯一标识,每一台mysql实例的server_uuid都是不同的。在mysql第一次启动时...原创 2020-11-04 14:41:53 · 2868 阅读 · 0 评论 -
mysql binlog日志
原文链接:https://www.cpweb.top/993一、简介 binlog 即 binary log,二进制日志。这个日志文件以事件的形式记录了所有对数据库操作的SQL语句(除了数据查询语句)信息。通过它我们可以实现数据恢复、增量备份、主主复制和主从复制等,对数据库来讲是非常重要的。以下内容基于mysql 5.7.28。 二、binlog日志的配置 修改/etc/my.cnf文件,在mysqld下添加以下配置。binlog日志存放位置强烈建议和数据目录分开。[root@...原创 2020-11-04 14:40:42 · 185 阅读 · 0 评论 -
mysql 联合查询
UNION 操作符可以对查询进行并运算,ALL 参数表示运算结果包括重复行。使用 UNION 运算的所有查询,必须符合在其目标列表中有相同数目的表达式。 语法格式: select_1 union [all] select_2 { union [all] select_3 } … 例如,查询专业为软件技术或者计算机网络技术的学生信息。mysql> select * from student where specialty='软件技术' union all原创 2020-11-02 17:36:25 · 170 阅读 · 0 评论 -
mysql 子查询
原文链接:https://www.cpweb.top/976一、简介 子查询指在一个 SELECT 查询语句的 WHERE 子句中包含另一个 SELECT 查询语句,或者将一个 SELECT 查询语句嵌入另一个语句中成为其一部分。 在查询语句中,外层 SELECT 查询语句称为主查询,WHERE 子句中的 SELECT 查询语句称为子查询,也称为嵌套查询。嵌套查询一般会涉及两个以上的表,所做的查询有的也可以采用连接查询或者几条查询语句完成。 二、IN 子查询 在 WHERE ...原创 2020-11-02 17:28:58 · 146 阅读 · 1 评论 -
mysql ANSI连接查询
原文链接:https://www.cpweb.top/974一、简介 在SQL中,可以使用两种语法形式连接表:一种是前面文章介绍的 FROM 子句,连接条件写在 WHERE 子句的逻辑表达式中,从而实现表的连接。另一种是 ANSI(美国国家标准学会) 连接语法形式,在 FROM 子句中使用 join…on 关键字,连接条件写在on之后,从而实现表的连接。 语法格式: from { 表名 1 [连接类型] join 表名 2 on 连接条件} [,…n] from…join...原创 2020-11-02 17:27:38 · 1397 阅读 · 1 评论 -
mysql 日期类型转换
原文链接:https://www.cpweb.top/9651、使用cast() 和 convert() 函数实现日期格式的转换 语法格式: convert( 表达式,数据类型 ) cast( 表达式 as 数据类型 ) 可转换的类型有 字符串char、日期date、时间time、日期时间datetime、浮点型decimal、整数signed、无符号整数unsigned。mysql> select cast(now() as signed);+--------...原创 2020-11-02 12:03:27 · 6939 阅读 · 0 评论 -
mysql select基础查询
原文链接:https://www.cpweb.top/955一、简介 DQL即数据查询语言,用于实现对数据的查询操作。主要语句 SELECT 查询语句,是数据库中应用最广泛、最重要的语句之一,也是我们使用频率最高的。 SELECT 查询语句的基本语法:select [ all|distinct ] 表达式列表from 表列表[ where 查询条件 ] [ group by 分组列名表 ] ...原创 2020-11-02 11:53:51 · 164 阅读 · 0 评论 -
mysql DML
原文链接:https://www.cpweb.top/933一、简介 DML即数据操作语言,实现对表和视图中数据的增删改操作。 常用DML命令有: insert: 插入数据 delete: 删除数据 update: 更新数据 二、insert语法格式: insert [into] 表名|视图名[(列名表)] values(数据表) • 列名表用于指定该数据表的列名,可以指定一列或者多列,顺序可以与表的列顺序不同。指定多个列,必须用逗号分隔。...原创 2020-10-28 12:22:12 · 373 阅读 · 0 评论 -
mysql DDL
原文链接:https://www.cpweb.top/924一、简介 DDL即数据定义语言,用于定义数据库、表和视图等。 常用DDL命令有: create: 创建数据库或者表 alter: 修改数据库或者表结构 drop: 删除数据库或者表 truncate: 删除表中的数据不删除表结构。 rename: 修改表名或者列名 在详细了解DDL语句时,有必要了解以下内容: 1、字符集和校对规则字符集:多个字符的集和。校对规则:是在字符集...原创 2020-10-28 12:21:00 · 97 阅读 · 0 评论 -
mysql sql_mode
以下简略介绍,详细请查看官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html。 SQL mode也可以称严格模式。作用是对SQL语句进行约束检查数据校验,让我们的SQL语句在执行时更加严谨、有意义等。 在5.5版本中,sql_mode值为空;5.6版本中,sql_mode值为NO_ENGINE_SUBSTITUTION。mysql> select @@sql_mode;+------------------------+原创 2020-10-28 12:19:09 · 123 阅读 · 0 评论 -
什么是SQL
SQL(Structured Query Language)被称为结构化查询语句,是目前广泛遵守的关系型数据库语言标准。它先被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后又被国际标准化组织(ISO)采纳为关系型数据库语言的国际标准。自1986年到至今依次公布了SQL-86、SQL-89、SQL-92(SQL2)、SQL-99(SQL3)等标准。 SQL主要分为以下几类: - 数据定义语言(DDL):定义数据库、表和视图等。详细用法请阅读:mysql DDL - 数据操作原创 2020-10-28 12:18:10 · 88 阅读 · 0 评论 -
mysql版本降级
原文链接:https://www.cpweb.top/908一、降级注意事项 - 仅支持GA版本之间升级。 - 从MySQL 5.7降级到5.6只能使用logical降级方法,不能使用In-place方式降级。 - 不支持跳版本降级。例如,不支持直接从5.7降级到5.5。 - 对于同一个发行版系列中,如5.7.y → 5.7.x 进行降级时,才支持In-place就地降级。 接下来我们来进行降级演示,因为是模拟环境,数据库中没有数据,所以不做备份,以下只演示升级...原创 2020-10-15 20:22:50 · 2756 阅读 · 0 评论 -
mysql版本升级
原文地址:https://www.cpweb.top/902一、升级需知 升级主要有两种方式:一是In-place就地,即在原服务器上,将原版本升级到新版本,风险较大,不推荐;二是Mergeing(Logical)迁移,即原服务器不动,准备一台相同的服务器,其中部署要升级的新版本数据库,通过备份或者主从将数据拉取到新环境中,再用新版本去升级旧版本的数据。 推荐第二种方式,风险较小。当然不管哪种方式升级,都应该先做备份。升级注意事项: - 仅支持GA版本之间升级。 - 5...原创 2020-10-15 20:21:53 · 399 阅读 · 0 评论 -
mysql用户和权限管理
一、用户管理1、查询当前登录用户mysql> select user();+----------------+| user() |+----------------+| root@localhost |+----------------+ 2、创建用户mysql> create user cp@'10.0.0.%' identified by '000000'; 注:用户的格式为:用户名@'白名单'。 白名单一般有以下几种写法: 'l原创 2020-10-14 15:23:27 · 140 阅读 · 1 评论 -
使用systemd管理mysql
1、方法1[root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld[root@db01 data]# chkconfig --add mysqld //会从init.d文件夹中寻找mysqld文件[root@db01 ~]# systemctl start mysqld //注意关闭之前启动的数据库 2、方法2[root@db01 ~]# cd /usr/lib原创 2020-10-14 10:39:26 · 732 阅读 · 0 评论