1 实训二前期LNMP简易架构 1.1 php server安装 |
1.2 安装初始化数据库 |
2 Mysql数据库 |
2.1 Mysql5.7安装 |
2.1.1 rpm安装 |
2.1.2 yum安装 |
2.1.3 源码安装 |
2.1.4 编译好的非rpm包安装 |
2.1.5 my.cnf常见选项 |
2.2 Mysql基础 |
2.2.1 MySql数据库操作 |
2.2.2 MySql数据类型 |
2.2.2.1 整型 |
2.2.2.2 浮点数和定数 |
2.2.2.3 字符串类型 |
2.2.2.4 日期和时间类型 |
2.2.2.5 字段修饰和约束 |
2.2.2.6 业务建表练习 |
2.2.3 MySql表操作 |
2.2.4 MySql体系结构 |
2.2.5 MySql存储引擎 |
2.3 MySql操作 |
2.3.1 MySql数据操作 |
2.3.2 MySql单表查询 |
2.3.3 MySql多表查询 |
2.3.4 MySql存储过程与函数 |
2.4 MySql操作-2 |
2.4.1 MySql安全机制 |
2.4.2 MySql日志管理 |
2.4.3 MySql复制概述 |
2.4.4 主从同步 |
2.5 最基本sql语句及主从架构 |
2.6 MyCat中间件 |
2.6.1 部署Mycat |
2.6.2 配置读写分离 |
2.6.2.1 安全的读写分离 |
2.6.3 XML语法格式 |
2.6.4 mycat 分表分库 |
2.7 Mysql MHA |
2.7.1 MHA-部署 |
2.7.2 MHA-故障切换VIP透明 |
2.7.2.1 VIP切换脚本内容 |
2.7.2.2 VIP-手动在线切换脚本 |
2.7.3 MHA+Mycat高可用Mysql读写分离 |
2.7.4 MHA+VIP+Mycat |
2.7.5 MHA-故障切换邮件报警 |
2.7.6 自动配置Slave主机 |
3 实验 |
3.1 mysql授权问题 |
3.2 1.单节点数据库 |
3.3 2.主从同步 |
3.4 3.实验(高可用) |
3.4.1 高可用keepalived |
3.4.1.1 keepalived install |
3.5 4.实验(高可用+大并发) |
3.5.1 HAproxy代理 |
3.6 4.实验(mycat-读写分离) |
3.6.1 mycat安装部署 |
3.6.2 读写分离高可用 |
3.6.3 mycat管理端口命令 |
3.7 5.双主双从-读写分离-高可用 |
3.8 6.mycat分库操作 |
3.9 7.mycat分表 |
3.10 8.mycat分库分表之下实现读写分离 |
4 Shell脚本编程 |
5 Zabbix监控 |
5.1 zabbix设置邮件报警--自定义报警媒介 |
5.2 zabbix解决中文界面乱码问题 |
5.3 ziabbix自带的template Linux OS |
5.4 zabbix-agent自定义收集数据 |
5.5 zabbix监控Nginx性能 |
5.6 综合配置 |
5.7 实验:监控nginx端口实现告警 |
6 ELK日志分析 |
6.1 PS |
6.2 es-head插件安装 |
6.3 安装filebeat nginx日志模板 |
MySQL数据库基本操作 ========================================================
RDBMS: Relational Database Management System 关系型数据库系统
认识一些基本对象:、、、、、、
表 tables 列/字段 field 行 row
一、初识SQL语言
SQL(Structured Query Language 即结构化查询语言)
SQL 语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如 CREATE DROP ALTER DESC DML语句 数据库操作语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据 SELECT DCL语句 数据库访问控制语言: 例如控制用户的访问权限 GRANT、REVOKE
二、系统数据库
系统初始化后默认建立的一些数据库:
information_schema: 虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等 performance_schema: 主要存储数据库服务器的 性能参数 mysql: 授权库,主要存储系统用户的权限信息 test:
四、创建业务数据库
语法
CREATE DATABASE 数据库名; ---------------------------- ##文件系统中 mkdir 目录,它会成为一个数据库吗》
数据库命名规则 class2_student class2_teacher 区分大小写 唯一性
不能使用关键字如 create select create database ##建议命名方式 db_student db_class 不能单独使用数字 推荐使用 统一前缀_名称 ## db_student
字段名称可以使用中文, 表名 和 库名, 尽量不要使用中文。
查看数据库 ------------------------------------ SHOW DATABASES;
选择/切换数据库 ------------------------------ USE 数据库名 ;
表的绝对路径 mysql.user
删除数据库 ------------------------------------- DROP DATABASE 数据库名;
建表: --------------------------------
数据表的绝对路径表示: database . table 例如 : mysql.user
数据表的命名:不要与系统关键字冲突,不要使用纯数字, 推荐: db_students
use 库名; CREATE TABLE 表名(字段1 属性1 属性2 属性3 , 字段2 属性1 属性2 属性3 )补充参数; ##注意命名规则,规范
查看表结构:(字段属性,表的成品) ------------------------------------------
DESC 表名;
查看建表详情:(完全属性,看到表更加详细的信息,建表的完整命令 ) -------------------------------------------- show create table 表名 \G
MariaDB [new_data]> show create table product \G *************************** 1. row *************************** Table: product Create Table: CREATE TABLE `product` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '表主键', `pid` int(10) unsigned NOT NULL COMMENT '产品ID', `price` decimal(15,2) NOT NULL COMMENT '单价', `num` int(11) NOT NULL COMMENT '购买数量', `person` varchar(255) NOT NULL COMMENT '客户姓名', `atime` int(10) unsigned NOT NULL COMMENT '下单时间', `utime` int(10) unsigned NOT NULL COMMENT '修改时间', `isdel` tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态标记', `year` smallint(5) unsigned NOT NULL COMMENT '年', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
删除表: -------------------------------- drop table 表名; ##删数据 delete from mysql.user where id="22" ;
DML : 对表的操作。 查询表中的数据: -------------------------------- select * from 数据库名.表名
清空表中记录: : -------------------------------- delete from 表名;
状态查询指令:=====================================
通过“help;”或者“\h”命令来显示帮助内容: 通过“\c”命令来清除命令行 buffer。 SQL 语句不区分大小写,单词全称较多,以逗号为分隔符,分号为语句结束 常用单双引号,一般双引号用于 “字段的值”。
============= 系统变量信息查询 show ================
mysql> show [global|session] variables; #默认是 session
显示服务器参数变量 有些变量的值可以修改,能够改变mysql 的工作特性 有些可以动态调整,即刻生效; 另外一些只能修改配置文件后,重启生效;
例如 status;
mysql> show status; 显示服务器状态变量 ,记录了当前包括过去的时间内mysql的运行统计数据
show status like 'log%'; ##查询以 log 开头的相关变量值。
mysql> show engines; 看你的mysql现在已提供什么存储引擎:
========== 系统函数查询 select ==============
mysql> select version() mysql> select current_date(); #显示当前mysql版本和当前日期 mysql> select now(); mysql> select database(); #显示当前默认数据库
一些常用的系统状态信息函数值===============
VERSION() 返回数据库的版本号 CONNECTION_ID() 返回服务器的连接数 USER() 返回当前用户 LAST_INSERT_ID() 返回最近生成的 AUTO_INCREMENT 值
MariaDB [(none)]> update new_data.product set atime=now(),num=100 where id=3;
|