zoukankan      html  css  js  c++  java
  • 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 

    阿里巴巴、淘宝用哪个

     
     
  • 相关阅读:
    Orderly Class
    POJ2513 【并查集+欧拉路径+trie树】
    POJ2195 Going Home【KM最小匹配】
    洛谷P2604 最大流+最小费用最大流
    小数转分数
    威尔逊定理
    luogu P6564 [POI2007] 堆积木KLO 树状数组+dp
    Codeforces Round #644 (Div. 3) H——Binary Median 二分
    luogu P4933 大师 线性dp
    Codeforces Round #643 (Div. 2) D——Game With Array
  • 原文地址:https://www.cnblogs.com/yh-z/p/13024319.html
Copyright © 2011-2022 走看看