mysql5.7安装和简介

一、检查工作

1.检查是否已经安装了mysql

rpm -qa|grep mariadb   检查是否安装了mariadb

rpm -e --nodeps mariadb-libs  有则删掉

2.查看mysql的依赖环境

rpm -qa|grep libaio

rpm -qa|grep net-tools

3.确认/tmp目录的权限

cd ..

ll

 

二、安装

下载安装包地址http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar,用 tar -xvf 包名   命令解压,共12个rpm文件,只安装4个。

1.依次安装如下rpm包

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm 
2.查看版本

mysqladmin --version

3.mysql服务初始化

mysqld --initallize --user=mysql

用日志中的初始密码,登录,查看日志目录如下,其中root@localhost:后面即为初始密码

cat var/log/mysqd.log    

登录命令

mysql -u root -p 日志中密码

初次登录必须修改root的密码才能有权限

ALTER USER 'root'@'localhost' IDENTITIED BY '123456';         (注意:sql语句要分号结束)

三、用户与权限

1.修改字符集

建库:create database mydb

显示建库命令的字符集: show create database mydb

建表tb后,插入中文的属性值,无法插入。必须进行如下三步修改:

1.修改配置文件字符集设置,修改/etc/my.cnf,最后一行设置如下

character_set_server=utf8

2.修改已有数据库字符集:alter database character set 'utf8';

3.修改已有表的字符集:alter table tb convert to character set 'utf8';

修改完成后,quit ,然后重启mysql服务 systemctl restart mysqld

2.创建新数据库用户

2.1创建一个zhangsan用户

create user zhangsan identified by '123456';

查看数据库用户:authentication_string:密码

2.2.创建用户并授权

grant all privileges on *.* to root@'%' identified by '123123';

 

四、逻辑架构

1.杂项配置

查看sql_mode配置:

SHOW VARIABLES LIKE 'sql_mode'

分组查询条件,select后面只能加分组字段、函数。

 

2.逻辑架构

2.1总体概览

下面将利用查询缓存和sql执行周期。来体验架构原理。

2.2.利用show profile查看sql的执行周期

开启查询缓存:

vim /etc/my.cnf

systemctl restart mysqld

profile配置:

查看profile配置,打开profile(查询缓存)配置

查看sql执行计划

查询sql 的执行周期:

show profile cpu, block io for query 5;   。如上图是5。

第一次查询的执行计划,未缓存,查询后存入缓存。

第二次查询:

查询计划:

查询周期:

show profile cpu,block,io for query 6;

上面语句的查询计划Query_ID分别为5和6,两次次查询所耗费时间相差明显,从查询周期中可以看出,第二次查询是直接从cache中查询到数据的,并未访问数据库表。这就是查询缓存的效果。

3.存储引擎

3.1.查看命令

3.2.各个引擎介绍

InnoDB:MySQL默认事务型引擎,被设计用来处理大量的短期的事务。一般应使用InnoDB。

MyISAM:提供了大量特性,包括全文索引、压缩、空间函数(GIS)等,但不支持事务和行级锁、缺陷是崩溃后无法安全恢复。

Archive:档案存储引擎只支持INSERT和SELECT操作,在MySQL5.1之前不支持索引。

Archive:适合日志和数据采集类应用

Blackhole:没有实现任何存储机制,他会丢失所有插入的数据,不做任何保存。但服务器会记录Blackhole表的日志,所以可以用于复制数据到备库、或者简单的记录到日志。但这种用于方式会碰到很多问题,因此不推荐。

CSV引擎可以将普通CSV文件作为MySQL的表来处理、但不支持索引。

CSV引擎可以作为一种数据交换的机制,非常有用。

CSV引擎的数据直接可以在操作系统里,用文本编辑器或excel读取。

Memory:如果要快速的访问数据,别切这些数据不会被修改,重启以后丢失也没有关系,那么Memory表是非常有用的。Memory表至少比MyISAM表快一个数量级。

Federated引擎是访问其他MySQL服务器的一个代理,尽管该引擎看起来提供了一种很好的跨服务器的灵活性,但也经常带来问题,因此默认是禁用的。

3.3.两个存储引擎对比

存储引擎MyISAM、InnoDB对比
对比项MyISAMInnoDB
外键不支持支持
事务不支持支持
行表锁表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作操作数据时只锁一行,不影响其他数据,适合高并发的操作
缓存缓存,只缓存索引,不缓存真实数据缓存,不仅缓存索引,也缓存真实数据,对内存要求较高,而且内存大小对性能起决定作用
关注点节省资源,消耗少、简单业务并发写,事务,更大资源
默认安装YY
默认使用NY
自带系统表使用YN

3.4 阿里,淘宝用哪个

产品价格目标主要功能是否可投入生产
Percona Server免费提供XtraDB存储引擎的包装器和其他分析工具XtraDB
MariaDB免费扩展MySQL以包含XtraDB和其他性能改进XtraDB
Drizzle免费提供比MySQL更强大的可扩展性和性能改进高可用性

Percona Server为MySQL数据库服务器进行了改进,在功能和性能上交MySQL有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能,为DBA提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器的行为。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值