目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

存档: 2021 年 04 月 (12)

KVM

虚拟化软件的差别 虚拟化软件(全): qemu 软件纯模拟全虚拟化软件,特别慢!AIX,兼容性好! xen(半) :性能特别好,需要使用专门修改之后的内核,兼容性差! redhat 5.5 xen kvm KVM(全): 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核 centos6 kvm 性能较好,兼容较好。 KVM系统需求 1CPU核心 2G内存 6G硬盘 # 查看系统版本 [root@openstack ~]# cat /etc/centos-release # 首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM [root@openstack ~]# cat /proc/cpuinfo | egrep 'vmx|svm' 关闭防火墙和SElinux # 关闭selinux [root@openstack ~]# systemctl stop firewalld.service #停止firewall [root@openstack ~]# systemctl disable firewalld.service #禁止fi....

索引

存储过程生成100W数据 1.创建数据库oldboy mysql> create database oldboy; 2.创建存储过程,并且创建100W条数据use oldboy use oldboy create table t100w (id int,num int,k1 char(2),k2 char(4),dt timestamp) charset utf8mb4 collate utf8mb4_bin; delimiter // create procedure rand_data(in num int) begin declare str char(62) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; declare str2 char(2); declare str4 char(4); declare i int default 0; while i<num do set str2=concat(substring(str,1+floor(rand()*61)....

information_schema

information_schema   是虚拟库,以及一些固定好的视图。 视图:一条查询语句的别名 元数据 ----> “基表”(无法直接查询和修改的) ----> DDL 进行元数据修改 ----> show ,desc(show),information_schema(全局类的统计和查询) use information_schema desc tables; #tables表中存储着整个数据库所有表的元数据信息 TABLE_SCHEMA 表所在的库 TABLE_NAME 表名 ENGINE 表的存储引擎 TABLE_ROWS 表的行数 AVG_ROW_LENGTH 平均行长度 INDEX_LENGTH 索引的长度 示例 --- 查询整个数据库中所有的库对应的表名 SELECT table_schema,table_name FROM information_schema.tables; --- 查询world和school库下的所有表名 SELECT table_schema,table_name FROM information_schema.tables....

Mysql在线改表工具pt-osc

背景   在mysql 5.6 版本以前,修改表结构如添加索引、修改列,需要锁表,期间不能写入,对于一个有几千万数据的大表来说,这个简直不能接收,对于分秒必争的互联网时代,服务中断很长时间的后果是很严重的。   升级Mysql 到5.6 版本后,情况会好转,支持online-DDL, 但是实际在Alter表的时候,还会有可能锁表。   pt-online-schema-change是Percona-toolkit一员, 支持在不锁表的情况下,在线改表。 pt-osc的工作原理 创建一个和要执行 alter 操作的表一样的新的空表,后缀默认是new。 在新表执行alter table 语句,因为是空表,执行速度很快。 在原表中创建触发器3个触发器分别对应insert,update,delete操作。 以一定块大小从原表拷贝数据到临时表,拷贝过程中通过原表上的触发器在原表进行的写操作都会更新到新建的临时表,注意这里是Replace操作。 表明替换 将原表名table修改为 tableold, 将tablenew 表明修改为原表名table 如果有参考该表的外键,根据alter-forei....

SQL

SQL标准 SQL92 SQL99 Mysql5.7版本之后启用了SQL_Mode 严格模式 SQL语句类型 SQL语言类型英文缩写作用 DDL:数据定义语言data definition language建库、建表、改表 DCL:数据控制语言data control languageGRANT 和 REVOKE 两个指令构成 DML:数据操作语言data manipulation languageINSERT、UPDATE、DELETE DQL:数据查询语言data query language查询数据 数据类型 制数据的规范性,让数据有具体含义,在列上进行控制 数据类型种类功能说明 char、varchar字符类型255 65535定长(固定存储空间) 变长(按需)varchar存数据时,首先进行字符串长度判断,按需分配存储空间,会单独占用一个字节来记录此次的字符长度,超过255之后,需要两个字节长度记录字符长度。 enum枚举类型enum('bj','sh','sz','cq','hb',......)数据行较多时,会影响到索引的应用数字类禁止使用enum....

Mysql安装、用户管理、初始化、多实例

下载 https://downloads.mysql.com/archives/community/ mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 安装方式 安装方式优点缺点 rpm安装卸载简单可定制性差 glibc可定制性相比rpm包灵活些安装相比rpm包复杂些,需要手动初始化数据库 源码安装可定制性最强,根据需求和功能定制安装麻烦,需要手动初始化数据库 RPM: mysql-community-server-5.7.28-1.el7.x86_64.rpm ,需要在特定linux版本下安装。 glibc: mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,依赖glibc库,可以安装在通用的Linux系统下 源代码编译安装: mysql-5.7.31.tar.gz,通用的Linux下都可以编译安装 glibc方式安装 # 解压软件 [root@localhost software]# ls mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz [root@loc....

CentOS7关闭Swap分区

1、注释/etc/fstab关于swap的配置 2、执行如下命令 echo vm.swappiness=0 >> /etc/sysctl.conf 3、重启 reboot 4、验证(Swap行均为0) free -m