zoukankan      html  css  js  c++  java
  • [MySQL]-01MySQL简介及安装

    本课件内容来自老男孩教育DBA专家郭导

    第1章 课程介绍

    1.DBA工作内容

    1.1 初级DBA

    安装配置 
    基本使用 
    基本故障处理
    

    1.2 中级DBA

    体系结构 
    备份策略 
    故障恢复 
    基础优化(索引,执行计划,慢日志)
    高可用架构(搭建,监控,故障处理,架构演变)
    

    1.3 高级DBA

    高可用架构(设计,实施,运维)
    高性能架构(读写分离,分库,分表,分布式)
    整体数据库优化(基于业务的SQL优化)
    

    2.课程框架

    2.1 初级DBA

    MySQL介绍及安装
    MySQL基础管理
    SQL应用
    

    2.2 中级DBA

    MySQL索引及执行计划
    MySQL存储引擎
    MySQL日志管理
    MySQL备份与恢复
    MySQL主从复制及架构演变
    

    2.3 高级DBA

    MySQL高可用架构
    MySQL高性能架构
    MySQL优化
    MySQL8.0新特性
    

    3.数据库产品演变

    第一代数据库架构:
    	RDBMS 关系型数据库时代 : 合的时代
    	代表产品 :Oracle 、MSSQL 、MySQL
    	
    第二代数据库架构:拆的时代
    	NoSQL 非关系型数据库时代: Not Only SQL 时代
    	代表产品: Redis、MongoDB、Elasticsearch
    
    第三代数据库架构:合的时代
    	NewSQL  :新型数据库架构时代
    	代表产品:
    	阿里系列: OB 、PolarDB
    	Pincap  : TiDB
    	google  : spanner
    

    4.常见数据库产品介绍

    RDBMS: MySQL  、Oracle  、PG、 MSSQL
    NoSQL: Redis  、MongoDB 、Elasticsearch
    云数据库:RDS
    

    第2章 MySQL介绍

    1.为什么选择MySQL

    MySQL性能卓越,服务稳定,很少出现异常宕机的情优。
    MySQL开放源代码且无版权制约,自主性强,使用成本低。
    MySQL历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
    MySQL软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
    MySQL品牌口碑效应好,使得企业无须考虑即可直接用之。
    LAMP、LNMP、LNMT (tomcat)等流行Web架构都含有MySQL。
    MySQL支持多种操作系统,提供了多种API,支持多种开发语言,特别是对流行的Java、Python、PHP等语言都有很好的支持。
    

    2.MySQL产品分支

    Oracle MySQL  :C版 、 E版 、Cluster版
    Percona MySQL :最接近于Oracle MySQL 
    MariaDB       :从5.5+ 以后,10.x +版本
    阿里:  RDS for MySQL 
    腾讯:  TDSQL
    

    3.MySQL版本选择

    5.6  : GA 6-12月之间的版本 
    5.7  : 一般选择最新GA版本  5.7.26   5.7.28 
    8.0  : 一般选择最新GA版本  8.0.17+
    

    3. MySQL获取与安装方式

    下载地址:

    https://downloads.mysql.com/archives/
    

    安装方式:

    1.编译安装
    2.二进制安装
    3.RPM安装
    

    第3章 MySQL安装启动

    1.下载地址

    https://downloads.mysql.com/archives/community/
    https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    

    2.创建目录

    mkdir -p /data/soft
    mkdir -p /data/mysql_3306/
    

    3.下载并解压软件

    cd /data/soft
    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/
    mv /opt/mysql-5.7.28-linux-glibc2.12-x86_64 /opt/mysql-5.7.28
    ln -s /opt/mysql-5.7.28 /opt/mysql 
    

    4.设置环境变量

    echo 'export PATH=$PATH:/opt/mysql/bin' >>/etc/profile
    source /etc/profile
    mysql -V
    

    5.清除遗留环境

    rpm -qa|grep mariadb
    yum remove mariadb-libs -y
    rm -rf /etc/my.cnf
    

    6.安装mysql依赖包

    yum install -y libaio-devel
    

    7.创建mysql普通用户并授权

    useradd -s /sbin/nologin -M mysql
    chown -R mysql.mysql /data/
    chown -R mysql.mysql /opt/mysql*
    

    8.初始化数据库

    mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3306/
    

    9.编辑mysql配置文件

    cat> /etc/my.cnf <<EOF
    [mysqld]
    port=3306
    user=mysql
    basedir=/opt/mysql
    datadir=/data/mysql_3306
    socket=/tmp/mysql_3306.sock
    
    [mysql]
    socket=/tmp/mysql_3306.sock
    EOF
    

    10.准备启动脚本并启动数据库

    后台启动

    cp /opt/mysql/support-files/mysql.server  /etc/init.d/mysqld
    chkconfig --add mysqld
    systemctl start mysqld
    netstat -lntup|grep 3306
    

    前台启动

    mysqld_safe --defaults-file=/etc/my.cnf
    

    11.配置root密码

    mysqladmin password -S /tmp/mysql_3306.soc
    

    12.登陆MySQL

    mysql -uroot -p123456
    

    第4章 MySQL多实例

    1.MySQL多实例介绍

    多实例是指一台服务器上运行多个Mysql实例
    每个实例可以拥有自己的配置文件和独立的数据目录
    每个实例可以单独的被管理,比如启动,关闭,登陆等操作
    

    2.创建数据目录并更改授权

    mkdir -p /data/mysql_3307/
    mkdir -p /data/mysql_3308/
    chown -R mysql.mysql /data/
    

    3.初始化多实例数据

    mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3307/
    mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3308/
    

    4.创建配置文件

    cat > /data/mysql_3307/my.cnf <<EOF
    [mysqld]
    basedir=/opt/mysql/
    datadir=/data/mysql_3307/
    socket=/data/mysql_3307/mysql.sock
    log_error=/data/mysql_3307/mysql.log
    port=3307
    EOF
    
    cat > /data/mysql_3308/my.cnf <<EOF
    [mysqld]
    basedir=/opt/mysql/
    datadir=/data/mysql_3308/
    socket=/data/mysql_3308/mysql.sock
    log_error=/data/mysql_3308/mysql.log
    port=3308
    EOF
    

    5.创建多实例启动脚本

    cat >/etc/systemd/system/mysqld_3307.service <<EOF
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3307/my.cnf
    LimitNOFILE = 5000
    EOF
    
    cat >/etc/systemd/system/mysqld_3308.service <<EOF
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3308/my.cnf
    LimitNOFILE = 5000
    EOF
    

    6.启动多实例

    systemctl daemon-reload 
    systemctl start mysqld_3307.service
    systemctl start mysqld_3308.service
    

    7.检查多实例

    [root@db-51 ~]# netstat -lntup|grep mysqld
    tcp6       0      0 :::3307                 :::*                    LISTEN      17019/mysqld        
    tcp6       0      0 :::3308                 :::*                    LISTEN      17053/mysqld 
    

    8.多实例创建密码

    mysqladmin -S /data/mysql_3307/mysql.sock password 
    mysqladmin -S /data/mysql_3308/mysql.sock password 
    

    9.登陆多实例

    mysql -S /data/mysql_3307/mysql.sock -uroot -p123456
    mysql -S /data/mysql_3308/mysql.sock -uroot -p123456
    
  • 相关阅读:
    CLR Via CSharp读书笔记(6):类型和成员基础
    Maven 环境快速搭建二(eclipse+maven2+jetty)
    Struts2架构图
    Struts2 不依赖Spring 的测试方式
    最全的Eclipse使用快捷键
    ts2+Spring的UnitTest编写(使用StrutsTestCase的子类StrutsSpringTestCase)
    分析Vector、ArrayList、Hashtable、HashMap数据结分享一下
    Struts2与Velocity模板
    maven环境快速搭建
    转】Java集合框架学习笔记
  • 原文地址:https://www.cnblogs.com/alaska/p/14961690.html
Copyright © 2011-2022 走看看