mysql创建数据库

MySQL高可用——PXC集群

久未见 提交于 2020-03-01 01:05:11
博文大纲: 一、PXC介绍 二、部署PXC集群 一、PXC介绍 参考: Percona官方 PXC是一个开源的MySQL高可用解决方案,它将Percona Server和Xtrabackup与Galera库集成,以实现同步多主复制。基于Galera的高可用方案主要有MariaDB Galera Cluster(MGC)和Percona XtraDB Cluster(PXC),目前PXC架构在生产环境中用的更多而且更成熟些,PXC相比那些传统的基于主从模式的集群架构MHA和双主,PXC最突出的特点就是解决了诟病已久的复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,它们互相的关系是对等的。本身Galera Cluster也是一种多主架构。PXC是在存储引擎层实现的同步复制,而非异步复制,所以其数据的一致性是相当高的。 其工作原理如下: 要搭建PXC架构至少需要三台MySQL实例来组成一个集群,三个实例之间不是主从模式,而是各自为主,所以三者之间的关系是对等的,不分主从,这也叫multi-master架构,客户端读写时,连接哪个实例都是一样的,读取到的数据是相同的,写入任意一个实例后,集群会将自己新写入的数据同步到其他实例上,这种架构不共享任何数据,是一种高冗余的MySQL集群架构。 1、PXC优缺点 优点: 实现了MySQL集群的高可用性和数据的强一致性。

MySQL定时备份(全量备份+增量备份)

非 Y 不嫁゛ 提交于 2020-02-29 20:03:23
MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份、差异备份、增量备份 更多binlog的学习参考 马丁传奇 的 MySQL的binlog日志 ,这篇文章写得认真详细,如果看的认真的话,肯定能学的很好的。 如果查看binlog是出现语句加密的情况,参考 mysql row日志格式下 查看binlog sql语句 说明 产品上线后,数据非常非常重要,万一哪天数据被误删,那么就gg了,准备跑路吧。 所以要对线上的数据库定时做 全量备份 和 增量备份 。 增量备份的优点是没有重复数据,备份量不大,时间短。但缺点也很明显,需要建立在上次完全备份及完全备份之后所有的增量才能恢复。 MySQL没有提供直接的增量备份方法,但是可以通过mysql二进制日志间接实现增量备份。二进制日志对备份的意义如下: 二进制日志保存了所有更新或者可能更新数据的操作 二进制日志在启动MySQL服务器后开始记录,并在文件达到所设大小或者收到flush logs 命令后重新创建新的日志文件 只需定时执行flush logs 方法重新创建新的日志,生成二进制文件序列,并及时把这些文件保存到一个安全的地方,即完成了一个时间段的增量备份。 全量备份 mysqldump --lock-all-tables --flush-logs --master

数据库基础

和自甴很熟 提交于 2020-02-29 18:15:58
目录 数据库基础 什么是数据库 SQL语言 安装与下载 数据库和表的操作 表中数据操作 单表查询 数据库基础 什么是数据库 数据库是一个用来存储各种数据的容器 数据库管理系统:专门用于创建和管理数据库的统一软件,介于应用和操作系统之间,保证数据的完整性、可靠性和安全性 数据库应用程序:通过数据库管理系统提供的接口与之通信,访问和管理数据的应用程序 SQL语言 ​ SQL语言是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存储数据,查询数据,更新数据等等 安装与下载 下载社区版(免费)安装略 设置环境变量 初始化数据库 # 安装MySQL mysqld --initialize # 进入mysql mysql -u root -p # 重新设置密码 mysql> set PASSWORD = '重新设置的密码'; 数据库和表的操作 创建和删除数据库 mysql> Show databases; #查看所有的表单 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) # 创建数据库

MySQL 安装教程

只愿长相守 提交于 2020-02-29 18:07:55
在上一篇《 MySQL 安装教程 》的基础上,演示使用命令行启动数据库、创建数据库和表结构等基本操作;因为在使用navicat等MySQL工具之前,这是必须要经历的。 在启动数据库之登录数据库。执行登陆命令"mysql -u root -p"并输入正确密码(初始密码为【)aTRtKgju9Jh】)即可进入,若第一次安装则直接回车进入。如图所示: 如果需要更改密码,在MySQL中执行命令: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 下面介绍一些建库建表的基本操作。 1,创建数据库 使用脚本"create datebase 库名;"即可创建数据库。这里以创建my2020为例,效果如下: 2,查看所有数据库 成功创建数据库之后,后键入"show databases;"以查看有哪些数据库: 显然,这里包含刚刚新增的数据库my2020。 3.使用指定数据库, 执行"use my2020;",选定数据库,效果如图: 4.查看当前使用的数据库 执行脚本"select database();"可以查看当前所用的数据库是谁,效果见上图。 5,在当前数据库添加表 create table student( sid int(32) primary key auto_increment,

MySQL性能优化(一):MySQL架构与核心问题

邮差的信 提交于 2020-02-29 17:33:43
一、前言 作为程序员的你,数据库作为一门必修课,而MySQL数据库毫无疑问已经是最常用的数据库了。系统的稳定、高效、高并发等指标,很大程度上取决于数据库性能是否够优,可见性能优化的重要性,这也就不难理解各位在任何一场面试中都会被问及到数据库调优相关的问题。 因此,这就是我为何考虑写该系列文章的主要原因,希望该系列文章( MySQL性能优化 )能够给你带来收获,让你更系统、更全面的掌握MySQL性能优化的技能、技巧。该系列文章将会持续分享、更新,如果觉得现在或者将来可能对你有用,不妨持续关注、收藏。 在MySQL性能优化之前,你有必要重新再认识下MySQL,便于后续更容易理解MySQL性能优化中涉及到的知识点。本文将从MySQL架构、核心问题来针对性展开讨论,这也将是 MySQL性能优化 系列文章的开篇之作。 二、MySQL逻辑架构 想深入探究MySQL之前,有必要了解一下MySQL的逻辑架构,逻辑架构图如下: MySQL的逻辑架构中,分为三层,如上图红色虚线框的三部分。 最上层架构并不是MySQL所独有的,大多数基于客户端/服务器形态的系统或者服务,都有类似的架构,其中包含MySQL的连接处理、授权认证、安全控制等等。 第二层架构是MySQL中最为核心的部分,其中包括查询解析、分析、优化、缓存以及所有的内置函数(如:日期、时间、函数等),所有跨存储引擎的功能都在这一层实现,例如

MySQL 性能调优(2)

点点圈 提交于 2020-02-29 15:40:26
MySQL数据库技术的方方面面也是很多,这里只涉及必备的性能调优,推崇从下向上的性能调优,主要包括运行环境,配置参数,SQL性能,和系统架构设计调优。 运行环境调优 这里是Linux的天下,MySQL 运行环境的调优往往和Linux的内核调优一并完成。当然了,对云服务RDS 也有一定的参考作用。 调整Linux默认的IO调度算法 IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调度器也被叫做电梯 (elevator),而相应的算法也就被叫做电梯算法.而Linux中IO调度的电梯算法有好几种,一个叫做as(Anticipatory),一个叫做 cfq(Complete Fairness Queueing),一个叫做deadline,还有一个叫做noop(No Operation). IO对数据库的影响较大,linux默认的IO调度算法为cfq,需要修改为deadline,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式。 1、在线动态修改,重启失效。 echo “deadline” > /sys/block/sda/queue/scheduler 2、修改/etc/grub.conf,永久生效。 修改/etc/grub.conf配置文件,在kernel那行增加一个配置,例如:

MySQL存储引擎你们知道多少?

空扰寡人 提交于 2020-02-29 13:57:44
MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的“存储引擎”(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引擎的区别。这次就简短侃一下存储引擎那些事儿。 先去查一下“引擎”概念。 引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等。 Ok,我们知道了,引擎就是一个程序的核心组件。 简单来说,存储引擎就是指 表的类型以及表在计算机上的存储方式 。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。 在MySQL中的存储引擎有很多种,可以通过“SHOW ENGINES”语句来查看。下面重点关注InnoDB、MyISAM、MEMORY这三种。 一.InnoDB存储引擎 InnoDB给MySQL的表提供了 事务处理 、 回滚 、 崩溃修复能力 和 多版本并发控制 的事务安全。在MySQL从3.23.34a开始包含InnnoDB。它是MySQL上第一个提供外键约束的表引擎

MySQL基本语句一

你说的曾经没有我的故事 提交于 2020-02-29 12:28:06
MySQL管理 启动/关闭Mysql: 管理员身份运行cmd net start/stop mysql Mysql登录:mysql -u user -p password 使用某数据库:use databasename (使用该命令后所有Mysql命令都只针对该数据库) 列出数据库列表:show databases 列出表:show tables 显示表的属性及详细信息:show columns form tablename 显示索引信息:show index from tablename 添加用户: 方法一 1.root用户登录; 2.use mysql 3.进入mysql数据库 mysql> use mysql; 4.修改user表,添加用户 INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); 方法二 使用grant命令,给db1数据库添加用户user1,密码123 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON db1.* -> TO 'user1'@'localhost' ->

Container(容器)与 Injector(注入)

╄→гoц情女王★ 提交于 2020-02-29 11:16:44
Container(容器): History: containerd于2014年出生于Docker,最初是Docker引擎的低层运行时管理器。继2017年3月被CNCF接受之后,containerd已经成为一个行业标准的容器运行时,专注于简单性,健壮性和可移植性,其最广泛的用途和采用是Docker引擎和OCI runc执行器之间的层。containerd可用作Linux和Windows的守护程序。它管理其主机系统的完整容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储,再到网络附件等。 背景:1、 containerd 是一个行业标准的容器运行时,强调简单性,健壮性和可移植性。containerd可用作Linux和Windows的守护程序。 2、containerd管理其主机系统的完整容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储,再到网络附件等。 特征: 1、OCI Image Spec支持 2、图像推拉支持 3、用于创建,修改和删除接口的网络基元 4、多租户支持CAS存储全局图像 5、OCI运行时规范支持(又名runC) 6、容器运行时和生命周期支持 7、管理网络名称空间容器以加入现有名称空间 future: 截至今天,业界有一个重要的趋势,即从VM迁移到容器以部署软件应用程序。其主要原因是与VM相比,容器提供的灵活性和低成本

数据库

我怕爱的太早我们不能终老 提交于 2020-02-29 11:08:53
一、 mysql 安装与介绍 (一) 概念介绍 数据库 : 存储数据的仓库。对数据进行存储,并且提供增、删、改、查的数据操作。 数据库建模:使用数据库来表达业务和业务的关系,数据建模成功与否决定了项目 的成败。 业务逻辑:实体业务之间的关系,比如 : 养殖场,猪和饲养员的关系。 事务: 事务:是作为一个单元的一组有序的数据库操作,如果组当中所有操作都成功,则事务执行成功,如果有一个操作执行失败,则事务执行失败,回滚操作。 事务的特性: 原子性:事务包含的所有操作全部成功,要么全部失败回滚;成功必须完全应 用到数据库,失败则不能不能对数据库产生影响。 一致性:事务执行前和执行后必须处于一致状态。 隔离性:当多用户并发访问数据库时候,数据库为每一个用户开启一个事务, 这个事务不被其他事务操作干扰,多个并发事务直接互相隔离。 持久性:一旦事务被提交了,那么数据库当中的数据改变是永久性的,即便数 据库系统发生故障,也不会丢失事务操作。 事务的回滚: 事务是用户定义的一组数据库操作。这些操作要么全做,要么全不做,回滚会自动是将该事务完成的操作撤销。 数据库提供的四种隔离等级: 如果我们不考虑隔离性,会导致 脏读 在一个事务处理的过程当中读取另一个没有提交的事务当中的数据,然后使用了数据。 A 向 B 转账 100 元, A 通知 B 查看账户, B 发现已经到账,转账操作过程当中