第一节 认识MySQL
    1.认识MySQL
    什么是数据库:
    l 计算机处理和存储的一切信息都是数据。
    l 计算机系统中一种用于存取数据的程序。
    一种:计算机系统中有许多种能够存取数据的程序。
    它们各有各的特征和长处,有自己的使用范围。
    存取:
    能够保存数据避免丢失。
    能够按照需求找到符合条件的数据。
    数据库可以帮助我们解决以下数据存取难题:

    1.较大数据量 2.事务控制
    3.网络访问 4.持久化和数据安全
    5.并发访问 6.查询数据需求逻辑复杂
    7.高性能要求

    数据库的分类:
    关系数据库:MySQL、oracle、SQLServer
    非关系数据库: hadoop(存放大数据的数据库)、mongoDB 、redis、cassandra
    文档数据库:
    分布式数据库:
    2.为什么要学习MySQL
    最流行的开源数据库,并不是最先进的,市场占有和Oracle相当
    互联网中占绝对主流地位
    开源:
    基于GPL协议开发源代码
    社区版本完全免费
    代码允许自由进行修改
    易于学习;
    MySQL具备关系型数据库核心功能但是特性并部繁多。
    架构设计趋于精简
    适合新手学习关系型书库
    3.谁需要学习MySQL
    应用开发者:
    基于数据库开发应用程序的开发者
    DBA:
    管理和维护数据库服务的运维人员
    用户端——应用开发者开发的程序——DBA维护的数据库服务器

    4.课程内容大纲
    DBA学习目标;
    l 学习MySQL的使用技巧
    l 学习MySQL体系结构知识
    l 学习日常运维,性能调优,故障排查等知识
    l 学习数据层架构设计,schema优化知识

    第二节 课程体系介绍
    课程体系介绍
    1. 学习MySQL学院学习什么
    正确使用数据库
    运维调优数据库
    数据库内在原理
    DBA—学习:
    管理维护数据库服务的运维人员需要全面掌握数据库的各种知识
    2.DBA必备技能

    SQL语言 故障处置
    安装部署 原理掌握
    性能调优 容量规划
    应用优化 架构设计

    3.内容的三个层次;
    入门篇:
    简单安装MySQL
    通过sql语言操作数据库基础
    进阶篇-实践课程:
    MySQL数据库对象与应用开发
    MySQL存储引擎与事务原理
    MySQL应用优化
    MySQL运维实践
    能够通过SQL语句实现大多数业务目标
    掌握一名生产环境DBA所需的知识与技能

    架构篇:
    能够为大型企业设计可靠的数据库服务环境
    从DBA走向数据库架构师的迈进
    课外知识准备:
    有实践操作条件
    做好Linux基础知识准备
    了解‘关系’模型
    第三节 轻松安装MySQL
    轻松安装MySQL
    Windows下安装MySQL—使用图形化更具安装,MySQL Installer
    Linux(Ubuntu)下安装MySQL—使用管理更具安装,apt-get
    Apt -cache search mysql-server 查看开源安装的数据库
    使用sudo apt-get install mysql-server-5.6安装MySQL5.6
    启动与停止MySQL服务:
    # 启动
    sudo /etc/init.d/mysql start
    # 或者
    sudo service mysql start
    # 停止
    sudo /etc/init.d/mysql stop
    # 或者
    sudo service mysql stop
    # 重启
    sudo service mysql restart
    # 查看状态
    sudo /etc/init.d/mysql status

    第四节 连接使用MySQL
    连接使用MySQL
    1. 掌握连接MySQL数据库的几种方式
    应用程序驱动连接:
    MySQL驱动程序涵盖各种主流语言
    MySQL命令行连接
    安装MySQL客户端软件包—MySQL-client-version
    设置环境变量—Export PATH=¥PATH:/usr/local/mysql/bin
    MySQLGUI更具连接
    2. 学习连接MySQL
    指定socket文件和用户名、密码——本地连接 socket 文件权限必须是777
    mysql -S/tmp/mysql.sock -uroot -p
    指定IP和端口
    mysql -h127.0.0.1 -P3306 -uroot -p——远程连接
    查看数据库状态
    status;
    展示当前连接状态
    show processlist;

    第五节 SQL语言入门
    SQL基础教程
    关系型数据库-数据存放在表中、每一行被称为记录、表中所以记录都有相同的字段。
    1. 认识SQL语言
    结构化查询语言 用于关系型数据库中的标准数据存取操作是与数据库进行沟通的钥匙
    SQL语言与数据库
    l 用SQL创建表,定义表的字段
    l 用上SQL语言向表中增加,删除,修改记录
    l 用SQL从标准查询到想要的记录
    l 用SQL操作数据库的一切
    2. 了解SQL语句的大致分类
    DDL(结构化定义语言)-创建、修改、删除表
    常用的有:
    Create table 创建表
    Drop table 删除表
    Alter table 修改表结构-增加、删除,修改表结构
    DQL(数据操作语言)-向表中插入记录,修改或者删除表中记录
    常用的有:
    Select from table 查询表
    Insert from table 插入数据
    Update table set 更新
    Delete from table 删除 不可逆的
      Select-查询,特殊的DML语句
    DML-控制数据库的访问权限
    常用的有:
    Grant 
    Revoke
    DCL-控制事务进展
    常用的有:
    Commit 提交事务
    Rollback 回滚事务
    3. 独立在数据库中建立表并存取数据
    课程SQL实例:
    # 查看当前有哪些数据库
    show databases;

    # 使用名为test的数据库
    use test;

    # 创建一张学生表
    create table stu(
    id int(10), name varchar(20),
    age int(10),
    primary key(id));
    # 每一张表都需要包含一个主键,主键唯一标识一条记录,唯一的字段,不可重复不能为空,通过primary key关键字来定义。

    # 查看创建好的表
    show create table stu;

    # 新加一个字段
    alter table stu add column gender varchar(20);

    # 修改一个字段
    alter table stu modify column gender varchar(40);

    # 删除一个字段
    alter table stu drop column gender;

    # 删除表
    drop table stu;

    # 查看当前数据库中的表
    show tables;

    # 向表中插入数据
    insert into stu(id,name,age) values(1,’pw’,28);

    # 插入全部字段时可以只写表名
    insert into stu values(2,’nss’,29);

    # 查看刚才添加的数据,”“代表查询全部字段
    select
    from stu;

    # 如果只想查询两个字段,则只写要查询的字段名
    select name, age from stu;

    # 也可以根据某个条件进行查询,比如只查询id为1的记录
    select name age from stu where id=1;

    # 更新语句
    update stu set age=29 where id=1;

    # 删除表中的数据
    delete from stu where id=1;

    第六节 认识DBA
    认识DNA
    1. 什么是DBA
    数据库管理源
    2. 为什么需要DBA
    数据库的高性能、高可用、可扩展、安全性
    专职DBA
    数据库存储技术
    3. DBA需要做哪些工作
    第一篇 MySQL数据库基础 - 图1
    基础运维工作:安装部署,监控,故障处理
    安全运维工作:数据库备份与恢复、安全访问、安全漏洞、审计
    性能调优:数据库优化、容量评估、软硬件升级
    开发支持工作:存储方案制定、数据库设计、数据库变更
    流程与培训:数据库开发规范、运维流程与标准化、业务培训
    4. DBA需要哪些技能
    专业技能:
    数据库原理、Linux与shell、计算机体系结构、网络原理认识、数据库系统与操作、服务器硬件、业务架构设计

    第七节 实践课总体介绍
    实践课程总体介绍
    第一篇 MySQL数据库基础 - 图2