MySQL数据库--架构介绍

架构介绍

1.mysql简介

完整的mysql优化需要很深的功底,sql易学难精
mysql内核
sql优化工程师
mysql服务器的优化
各种参数常量设置
查询语句优化
主从复制
软硬件升级
容灾备份
sql备份

2.Linux版的安装

安装
下载 选择 GA稳定版  client  和 server 都需要下载

第三方软件安装在opt目录下

检查是否安装给mysql:

	rpm -qa|grap -i mysql

装过就暴露出软件名,没装就是空的

liunx开发;不用中文,不用空格

安装服务端:rpm -ivh mysql-server.....rpm

安装客户端:rpm -ivh mysql-client...rpm

mysqladmin --version 能查看出版本就可以
服务
service mysql start  启动服务

ps -ef|grep mysql

service mysql stop 关闭服务

top可以查看服务器开启时间
首次连接
mysql   直接可以连接

默认没有密码,要设置密码

exit

/use/bin/mysqladmin -u root password mysql即可

现在mysql,会提示使用密码,此时需要使用身分和密码才能进入
自动服务
chkconfig mysql on 设置开机启动mysql

checonfig --list|grep mysql   这样 016应该是关闭的,2345是开启的

也可以通过

ntsysv  把mysql设置为*设置
安装位置
/var/lib/mysql  mysql数据库文件的存放位置

/usr/share/sql    配置文件目录

/usr/bin               相关命令目录

/etc/init.d/mysql   启停脚本目录
修改配置文件位置

5.5 版本 cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

5.6版本 cp /usr/share/mysql/my-default.cnf /etc/my.cnf

重启服务

修改字符集

show variables like “%char%”

发现数据库设置字符为拉丁

vim my.cnf

[client]

default-character-set=utf8

[mysqld]

sort-buffer-size=2M 排序缓存池大小,不够了商量好再改

端口…

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_cl

[mysql]

no-auto-rehash

default-character-set=utf8

重启服务

在字符集修改之前建 的库还是乱码,但是后续建的库就不乱码

3.mysql配置文件

二进制日志文件log-bin 主从复制

错误日志文件log-error 默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息等

查询日志log 默认关闭,记录查询的sql语句,如果开启会降低mysql的整体性能,因为记录日志也是需系统资源的

/var/lib/bin 查看所有库:ls -1F|grep ^d 所有以目录开头的

frm文件:存放表结构

myd文件:存放表数据

myi文件:查找表数据的索引

4.mysql逻辑架构介绍

插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取向分离

1.连接层

最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp、ip的通信。主要完成一些类似于连接处理,授权认证,及相关的安全方案,在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程,同样在盖层上可以实现基于ssl的安全连接

2.服务层

第二层架构主要完成大多数的核心服务功能,若要跨存储引擎的功能也在该层实现.

3.引擎层

存储引擎层,存储引擎真正的负责了mysql中数据的存储和提取,服务聪哥api与存储引擎通信

4.存储层

数据存储层,主要讲 数据存储在裸设备的文件系统知识,并完成与存储引擎的交互

5.mysql存储引擎

常用的引擎
 innodb  myisam
查看存储引擎
show engine;

show variables like "%storage_engine%";
对比
		主外键		事务		行表锁    	缓存					表空间		关注点

myisam	 不支持		不支持	表锁		只缓存索引	         	  小         性能

innoDB	 支持		 支持	行锁		缓存索引和数据,对内存要求高   大		 事务

阿里对二进制源码进行优化使得更适合他们的业务,存储引擎更换了percona

猜你喜欢

转载自blog.csdn.net/MINGZHEFENG/article/details/106904257