MySql备份还原 为什么要备份 灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景 备份注意要点 能容忍最多丢失多少数据 恢复数据需要在多长时间内完成 需要恢复哪些数据 还原要点 做还原测试,用于测试备份的可用性 还原演练 备份类型: 完全备份,部分备份 完全备份:整个数据集 部分备份:只备份数据子集,如部分库或表 完全备份、增量备份、差异备份 增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复…
MySql备份还原 为什么要备份 灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景 备份注意要点 能容忍最多丢失多少数据 恢复数据需要在多长时间内完成 需要恢复哪些数据 还原要点 做还原测试,用于测试备份的可用性 还原演练 备份类型: 完全备份,部分备份 完全备份:整个数据集 部分备份:只备份数据子集,如部分库或表 完全备份、增量备份、差异备份 增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复…
MySql日志类型 事务日志 transaction log 中继日志 reley log 错误日志 error log 通用日志 general log 慢查询日志 slow query log 二进制日志 binary log 事务日志 事务日志:transaction log 事务型存储引擎自行管理和使用,建议和数据文件分开存放 更改事务日志路径 mkdir /data/mysqllogs/ 创建自定义事务日志目录 chown mysql.mysql /data/mysqllogs…
并发控制 锁粒度: 表级锁 行级锁 锁: 读锁:共享锁,只读不可写,多个读互不阻塞 写锁:独占锁,排它锁,一个写锁会阻塞其它读和它锁 实现 存储引擎:自行实现其锁策略和锁粒度 服务器级:实现了锁,表级锁;用户可显式请求 分类: 隐式锁:由存储引擎自动施加锁 显式锁:用户手动请求 示例: lock tables teachers read; 对teachers表加读锁 加读锁后,其他终端只能读该表,不能写 lock tables students write; 加写锁 加写锁后,自己可…
查询缓存 查询缓存( Query Cache )原理 缓存SELECT操作或预处理查询的结果集和SQL语句,当有新的SELECT语句或预处理查询语句请求,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写 优缺点 不需要对SQL语句做任何解析和执行,当然语法解析必须通过在先,直接从Query Cache中获得查询结果,提高查询性能 查询缓存的判断规则,不够智能,也即提高了查询缓存的使用门槛,降低其效率; 查询缓存的使用,会增加检查和清理Query Cache中记录集的开销…
服务器配置 mysqld选项,服务器系统变量和服务器状态变量 https://dev.mysql.com/doc/refman/5.7/en/mysqld-option-tables.html https://mariadb.com/kb/en/library/full-list-of-mariadb-options-system-and-status-variables/ 注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效;有些参数作用域是全局的,且…
MySql架构 术语解释: 事务:多个操作的完整集合,这几个操作必须作为一个整体出现,一次性全部做完,myisam不支持此特性 加锁:当对数据库中的表操作时,对该表或表中的内容进行加锁,防止多个人同时操作,会影响数据库的并发性,myisam支持表级锁(更改表时,对整个表加锁),innodb支持行级锁(更改表时,只对某一行加锁),innodb并发性更高,更加灵活 MVCC 多版本并发控制机制 多个事务对某个表同时进行操作时如t1事务进行写操作,t2事务进行查询操作,此时写操作尚未完成,操作过程中形成的数据我们称之为脏…
元数据数据库:mysql 系统授权表: db, host, user columns_priv, tables_priv, procs_priv, proxies_priv 用户账号: 'USERNAME'@'HOST': @'HOST': 主机名; IP地址或Network; 通配符: % _ 示例:172.16.%.% 用户管理 创建用户:CREATE USER CREATE USER 'USERNAME'@'HOST' [IDENTIFIED BY 'password'…
函数 函数:系统函数和自定义函数 系统函数:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html 自定义函数(user-defined function UDF) 保存在mysql.proc表中 创建UDF: CREATE [AGGREGATE] FUNCTION function_name(parameter_nametype,[parameter_nametype,...]) RETURNS {STRING|INTEGE…
关系型数据库的常见组件 数据库:database 表:table 行:row 列:column 索引:index 视图:view 用户:user 权限:privilege 存储过程:procedure,无返回值 存储函数:function,有返回值 触发器:trigger 事件调度器:event scheduler,任务计划 SQL语言的兴起于语法标准 20世纪70年代,IBM开发出SQL,用于DB2 1981年,IBM推出SQL/DS数据库 业内标准微软和Sybase的T-SQL,Oracle的PL/SQ…
2.1 MySQL介绍 MySQL历史 1979年:TcX公司Monty Widenius,Unireg 1996年:发布MySQL1.0,Solaris版本,Linux版本 1999年:MySQL AB公司,瑞典 2003年:MySQL 5.0版本,提供视图、存储过程等功能 2008年:Sun 收购 2009年:Oracle收购sun 2009年:Monty成立MariaDB MySQL和MariaDB 官方网址: https://www.mysql.com/ http://mariadb.org/ 官方…