mysql架构介绍 1

 注:本笔记源自尚硅谷 如有不明白地方请结合尚硅谷视频观看 https://www.bilibili.com/video/BV1KW411u7vy?p=1  

 建议有基础的同学从14章开始观看,前面的适合无基础的同学。

1.mysql简介

概述

高级Mysql

  • 完整的mysql优化需要很深的功底,大公司甚至有专门的DBA写上述
    • mysql内核
    • sql优化工程师
    • mysql服务器的优化
    • 各种参数常量设定
    • 查询语句优化
    • 主从复制
    • 软硬件升级
    • 容灾备份
    • sql编程

2.mysqlLinux版的安装

mysql5.5

  • 下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads
  • 检查当前系统是否安装过mysql:
  • 查询命令:rpm -qa|grep -i mysql
  • 删除命令:rpm -e RPM软件包名称
    • 删除自带的mysql:yum -y remove mysql-libs-5.1.73-7.el6.x86_64
  • 安装mysql服务端(注意提示):
    • -安装mysql服务端(注意提示):
    • rpm -ivh MySQL-server-5.5.48-1.linux2.6.i386.rpm
    • 如果报错libc.so.6:https://blog.csdn.net/xiyuliuyang/article/details/90750049
    • 如果警告key ID 5072e1f5: NOKEY:https://blog.csdn.net/Aaron960214/article/details/78451321
  • 安装mysql客户端
    • rpm -ivh MySQL-client-5.5.48-1.linux2.6.i386.rpm
  • 查看MySQL安装时创建的mysql用户和mysql组
    • cat /etc/passwd|grep mysql
      • cat /etc/group|grep mysql
      • mysqladmin --version
  • mysql服务的启+停
    • service mysql start
    • service mysql start
    • 如果报错ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
    • 解决办法:https://www.cnblogs.com/bingco/p/8068243.html
mysql_install_db --datadir=/var/lib/mysql
chown mysql:mysql /var/lib/mysql -R
  • 查看mysql的进程:ps -ef|grep mysql
  • mysql服务启动后,开始连接
    • 首次连接成功:mysql(不需要输入密码)
      • 给root用户设置密码:/usr/bin/mysqladmin -u root password 123456
  • 自启动mysql服务
    • 设置开机自启动mysql:chkconfig mysql on
      • 查看mysql的等级:chkconfig --list | grep mysql
      • 查看不同等级代表的含义:cat /etc/inittab
      • 查看开机自动服务有哪些:ntsysv
  • 修改配置文件位置
版本5.5:cp /usr/share/mysql/my-huge.cnf         /etc/my.cnf   

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

  

  • 修改字符集和数据存储路径
1、查看字符集
show variables likecharacter%’;
show variables like%char%’;
由于默认的是客户端和服务器都使用的latin1,所以都是乱码
修改

修改客户端:


 

 照着手册配置即可。


sort_buffer_size = 2m  #排序的缓存池大小,如果需要大量的排序,需要加大

read_buffer_size = 2m  #读

完结,保存退出 wq!
  • 重启mysql
service mysql start   #如果配置错误,已启动就会报错。启动成功说明配置无问题。
  • 重新连接后,原来的库由于建立于修改字符集之前,所以中文依然是乱码,而新建表中文不是乱码
mysql -u root -p  #j连接数据库

注:

之前创建的库 是在修改中文配置文件的外面,虽然已经修改了中文配置文件但是还是不支持中文,需要重新创建一个库即可。

MySQL的安装位置

  • /var/lib/mysql:mysql数据库文件的存放路径
  • /usr/share/mysql:配置文件目录
  • /usr/bin:相关命令目录
  • /etc/init.d/mysql:启停相关脚本

3.mysql配置文件

主要配置文件

1、二进制日志log-bin

  主从复制

2、错误日志log-error

  默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等。

3、查询日志log

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

4、数据文件

  1、两系统

    windows:D:devSoftMySQLServer5.5data目录下可以挑选很多库

    linux

      看看当前系统中的全部库后再进去 

      默认路径:/var/lib/mysql

 

  2、frm文件:里面存放表结构

  3、myd文件:里面存放表数据

  4、myi文件:里面存放表索引

5、如何配置

    • windows:my.ini文件

    • Linux:/etc/my.cnf文件

4.mysql逻辑架构介绍

1、总体概览

和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。
主要体现在存储引擎的架构上,**插件式的存储引擎架构 将查询处理和其它的系统任务以及数据的存储提取相分离
**这种架构可以根据业务的需求和时机需要选择合适的存储引擎。
  

2、查询说明

从上到下,连接层,服务层,引擎层,存储层

5.mysql存储引擎

查看命令

如何用命令查看

看你的mysql现在已提供什么存储引擎:show engines;

看你的mysql当前默认的存储引擎:show variables like ‘%storage_engine%’;

MyISAM和Inno DB 

阿里巴巴、淘宝用哪个

 
 
原文地址:https://www.cnblogs.com/yh-z/p/13024319.html