随笔分类 -  MYSQL

摘要:概述 MySQL5.0版本之后支持视图 视图能够方便开发热源对数据进行增删改查等操作 访问视图能够根据相应的权限来限制用户直接访问数据库的数据表 保障数据库的安全性 概念 1 视图可以由数据库中的一张表或者多张表生成,结构与数据表类似 2 视图中的数据也是由一张表或多张表中的数据组合而成 3 可以对 阅读全文
posted @ 2022-07-18 16:20 胖丿虎 阅读(32) 评论(0) 推荐(0) 编辑
摘要:操作步骤 1、配置主从 1.1master /etc/my.cnf server-id log-bin skip-name-resolve 1.2master建立repl用户 grant replication slave on *.* to repl@'192.168.50.%' identied 阅读全文
posted @ 2022-07-18 16:12 胖丿虎 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1.MHA架构图 2.MHA工作原理 1.当Master宕机 2.MHA从宕机崩溃的master中找到保存的二进制日志 3.自动识别含有最近更新的slave 4.应用差异的中继日志到其他的slave 5.应用从master保存的二进制日志 6.使其它的slave连接新的master进行复制 3.MH 阅读全文
posted @ 2022-07-18 15:54 胖丿虎 阅读(133) 评论(0) 推荐(0) 编辑
摘要:1.MySQL高可用解决方案 method level of availability 停机时间 simple replicaiton 98-99.9% 365*24*60*0.001=525.6分钟 master-master/MMM 99% SAN 99.5-99.9% DRBD,MHA 99. 阅读全文
posted @ 2022-07-18 15:38 胖丿虎 阅读(163) 评论(0) 推荐(0) 编辑
摘要:日志类型 事务日志:transaction log 写入类型为“追加”,因此其操作为“顺序IO”,通常被称为:预写式日志;ib_logfile0,ib_logfile1 错误日志:error log 通用日志:general log 慢查询日志:slow query log 二进制日志:binary 阅读全文
posted @ 2022-07-18 15:36 胖丿虎 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1、案例拓扑 2、读写分离原理 1、多台mysql服务器通过主从复制保持数据一致 2、有maxscale代理服务器面向客户端 3、收到sql写请求时,交给主服务器处理 4、收到sql读请求时,交给从服务器处理 3、构建读写分离架构 1、构建思路 2、构建主从同步 3、部署maxscale代理服务器 阅读全文
posted @ 2022-07-12 16:15 胖丿虎 阅读(34) 评论(0) 推荐(0) 编辑
摘要:优化架构 1、从硬件层面 cpu选型 检查工作负载是否是CPU密集型 : 可以通过检查 CPU利用率来判断是否是CPU密集型的工作负载,但是仅看CPU 整体的负载是不合理的,还需要看看 CPU 使用率和大多数重要的查询的 I/O 之间的平衡,并注意 CPU 负载是否分配均匀。 选择更快的CPU还是更 阅读全文
posted @ 2022-07-12 16:11 胖丿虎 阅读(43) 评论(0) 推荐(0) 编辑
摘要:异步复制 默认情况下,MySQL的复制功能是异步的,异步复制可以提供最佳的性能,主库把binlog日志爱发送给从库即结束,并不验证从库是否接收完毕。这意味着当主服务器或从服务器发生故障时,有可能从服务器没有街道主服务器发送过来的binlog日志,这就会造成主服务器和从服务器的数据不一致,甚至在恢复时 阅读全文
posted @ 2022-07-12 15:54 胖丿虎 阅读(64) 评论(0) 推荐(0) 编辑
摘要:GTID复制:(Global Transaction ID 全局事务标识符) GTID复制不像传统的复制方式(异步复制、半同步复制)需要找到binlog文件名和POS点,只需指定master的IP、端口、账号、密码即可,开启GTID后,执行change master to master_auto_p 阅读全文
posted @ 2022-07-12 15:34 胖丿虎 阅读(22) 评论(0) 推荐(0) 编辑
摘要:双主复制本质上是主从,只不过是双向,互为主从 双主的本质是想解决写压力 建议:即使配置了双主复制,最好也只是单写,配置双主的目的并不是为了增加写并发,而是为了实现在主库宕机后角色能够快速切换提供服务 主从配置常用参数 适用于主库的配置选项 binlog_do_db=名字 #设置主库对那些库记日志 b 阅读全文
posted @ 2022-07-12 15:28 胖丿虎 阅读(87) 评论(0) 推荐(0) 编辑
摘要:架构图: Master配置: 1、开启二进制日志 log_bin=/var/lib/mysql/log_bin binlog_format=MIXED 2、修改server-id server-id=1 3、建立授权账号 grant replication slave on *.* to 'repl 阅读全文
posted @ 2022-07-12 15:24 胖丿虎 阅读(137) 评论(0) 推荐(0) 编辑
摘要:主从复制原理 1、slave服务器上执行start salve命令开启主从复制开关,主从复制开始进行; 2、此时,slave服务器上的I/O线程会通过在master上已经授权的复制用户权限请求连接master服务器,并请求从指定binlog日志文件的指定位置(日志文件名和位置就是在配置主从复制时执行 阅读全文
posted @ 2022-07-12 14:48 胖丿虎 阅读(27) 评论(0) 推荐(0) 编辑
摘要:主从复制架构和原理 服务性能扩展方式 向上扩展 垂直扩展 向外扩展 横向扩展 MySQL的扩展 读写分离 复制:每个节点相同的数据库,向外扩展,基于二进制日志的单向复制 复制的功能 数据分布 负载均衡读 备份 高可用和故障切换 MySQL升级测试 复制架构 一主一从复制架构 一主多从复制架构 主从复 阅读全文
posted @ 2022-06-22 09:54 胖丿虎 阅读(26) 评论(0) 推荐(0) 编辑
摘要:MySQL主从复制企业级应用场景 1、从服务器作为主服务器的实时数据备份 优点:数据实时同步,在主服务器故障可以人工干预快速恢复业务 缺点:主数据库删除一条数据,从随之更新 2、主从服务器实现读写分离,从服务器实现负载均衡 读写分离实现分为程序级别和服务器级别 3、根据业务重要性对多个从服务器进行拆 阅读全文
posted @ 2022-06-07 11:10 胖丿虎 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1、创建数据库并插入数据 mysql> create database huifu;mysql> create table huifu.test(id int);mysql> insert into huifu.test values (1),(2),(3),(4);mysql> select * 阅读全文
posted @ 2022-06-07 11:06 胖丿虎 阅读(51) 评论(0) 推荐(0) 编辑
摘要:二进制日志 记录导致数据改变或潜在导致数据改变的sql语句 记录已提交的日志 不依赖于存储引擎类型 功能:通过重放日志文件中的事件来生产数据副本 注意:建议二进制日志和数据文件分开存放 基于‘语句’记录:statement,记录语句,默认模式,日志量较少 基于‘行’记录:row,记录数据,日志量较大 阅读全文
posted @ 2022-06-07 09:46 胖丿虎 阅读(38) 评论(0) 推荐(0) 编辑
摘要:物理备份 冷备份:cp tar 逻辑备份 mysqldump mysqldump:是MySQL的客户端命令,通过mysql协议连接至mysql服务器进行备份 -A,--all-database #备份所有数据库,含create database -B,--database db_name #指定备份 阅读全文
posted @ 2022-06-07 09:34 胖丿虎 阅读(62) 评论(0) 推荐(0) 编辑
摘要:为什么要备份 灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景 备份类型 完全备份,部分备份 完全备份:整个数据库 部分备份:只备份数据子集,如部分库或表 完全备份,增量备份,差异备份 增量备份:仅备份最近一次完全备份或增量备份以来变化的数据,备份较快,还原复杂 差异备份: 阅读全文
posted @ 2022-06-07 09:15 胖丿虎 阅读(92) 评论(0) 推荐(0) 编辑
摘要:MySQL用户管理 相关数据库和表 元数据数据库:mysql 系统授权表 db,存储授权用户对数据库的访问权限 host, user,存储授权用户的访问权限 columns_priv,存储用户对字段的访问权限 tables_priv,存储用户对表的访问权限 procs_priv,proxiea_pr 阅读全文
posted @ 2022-06-06 15:05 胖丿虎 阅读(111) 评论(0) 推荐(0) 编辑
摘要:创建表的方式:复制表 复制表:复制表的字段和内容取决于SQL的查询结果,但是不包括表中的键值 create table 表名 select 字段 from 表A; 多表查询 select * from user,user2 where user.name=user2.name; 左连接查询 基本用法 阅读全文
posted @ 2022-06-06 14:39 胖丿虎 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示