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日志模板 |
在实验7基础之上 单独针对dn2节点实现读写分离
1.获取一台新的mysql服务器资源153 dn4
2.实现 dn2为主 dn4为从 >备份dn2服务器上的所有数据(t1 t2 t8) # mysqldump -uroot -pUplooking_123 -B -A > /tmp/dn2.sql # scp /tmp/dn2.sql 192.168.182.153:/tmp/
>配置dn2 my.cnf 配置文件 skip-name-resolve query_cache_type=OFF server-id=2 log_bin=/var/lib/mysql/master-bin binlog-ignore-db=performance_schema binlog-ignore-db=mysql binlog-ignore-db=sys lower_case_table_names=1
>在dn2服务器上授权用于同步的用户 mysql > grant replication slave on *.* to 'sync'@'192.168.182.%' identified by "Uplooking_123"; mysql > flush privileges; >锁定数据库dn2 mysql> flush tables with read lock;
>配置 dn4 my.cnf配置文件 skip-name-resolve query_cache_type=OFF server-id=4 relay-log=/var/lib/mysql/relay-log lower_case_table_names=1
>在dn4服务器快速配置从 连接主
# mysql -uroot -pUplooking_123 < /tmp/dn2.sql # mysql -uroot -pUplooking_123 mysql> change master to master_host="192.168.182.151",master_user='sync',master_password="Uplooking_123",master_log_file="master-bin.000001",master_log_pos=9892047; Query OK, 0 rows affected, 2 warnings (0.03 sec)
mysql> start slave; Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
>解锁 dn2 恢复业务 mysql> unlock tables;
> 授权用于mycat 操作的账号 mysql> grant all on *.* to 'dn4'@'192.168.182.%' identified by 'Uplooking_123'; Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3.配置mycat 实现读写分离 # vi /usr/local/mycat/conf/schema.xml
<!--更dn2 对应的dataHost配置 实现读写分离--> <dataHost name="host2" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM2" url="192.168.182.151:3306" user="dn2" password="Uplooking_123"> <readHost host="hostS1" url="192.168.182.153:3306" user="dn4" password="Uplooking_123" /> </writeHost> </dataHost>
在当前有限的基础架构上 进一步配置读写分离的高可用模型
<dataHost name="host2" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM2" url="192.168.182.151:3306" user="dn2" password="Uplooking_123"> <readHost host="hostS1" url="192.168.182.153:3306" user="dn4" password="Uplooking_123" /> </writeHost>
<writeHost host="hostM2" url="192.168.182.153:3306" user="dn2" password="Uplooking_123"> <readHost host="hostS1" url="192.168.182.153:3306" user="dn4" password="Uplooking_123" /> </writeHost> </dataHost>
|