首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
MySQL/MariaDB数据库的并发控制
】的更多相关文章
MySQL/MariaDB数据库的并发控制
MySQL/MariaDB数据库的并发控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.并发控制概述 1>.什么是并发控制 MySQL是一个服务器级别的数据库,它通常放在网络上有很多用户并发访问的,因此并发控制很关键. 2>.锁粒度 表级锁(MyISAM和Innodb都支持) 行级锁(仅Innodb支持,MyISAM不支持) 3>.锁 读锁: 共享锁,只读不可写(包括当前事务) ,多个读互不阻塞 写锁: 独占锁,排它锁,写锁会阻塞其它事务(不包括当前事务)的读…
MySQL/MariaDB数据库的事务和隔离级别
MySQL/MariaDB数据库的事务和隔离级别 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.事务概述 1>.事务Transactions 一组原子性的SQL语句,或一个独立工作单元. 2>.事务日志 由于直接对源表进行修改当服务器突然掉电可能会导致源表数据被损坏,因此可以将修改先记录事务信息,后根据事务日志信息再对源表实现undo,redo等故障恢复功能 redo: 将事务日志中已经commit的事务进行复现操作,即对源表进行修改. undo: 将事务日志中未…
MySQL/MariaDB数据库的存储引擎
MySQL/MariaDB数据库的存储引擎 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL体系结构 连接管理模块: 负责接收远程用户的连接. 线程管理模块: 维护一个线程池,通过连接管理模块接入的连接会在线程池中分配一个空闲线程去响应,当用户端口连接后线程资源会被回收(并不会被销毁),即重新放回线程池. 用户管理: 负责验证用户是否合法. 命名分发器: 负责分发命令到相应模块并记录日志信息. 查询缓存模块: 负责缓存曾经执行SQL的返回结果.当下次查询到与之…
MySQL/MariaDB数据库的性能测试
MySQL/MariaDB数据库的性能测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据库服务衡量指标 qps: query per second(每秒支持多少查询) tps: transaction per second(每秒支持多少个事务性能) 二.压力测试工具 mysqlslap: Mariadb自带的测试脚本 Sysbench:功能强大 https://github.com/akopytov/sysbench tpcc-mysql MySQL Benc…
MySQL/MariaDB数据库的Galera高可用性集群实战
MySQL/MariaDB数据库的Galera高可用性集群实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Galera Cluster概述 1>.什么是Galera Cluster 集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,Galera本身是具有多主特性的,即采用multi-master的…
MySQL/MariaDB数据库的MHA实现高可用实战
MySQL/MariaDB数据库的MHA实现高可用实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL高可用常见的解决方案 1>.Multi-Master Replication Manager for MySQL(简称MMM) Mysql主主复制管理器是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的) 博主推荐阅读:…
MySQL/MariaDB数据库的PROXY实现读写分离
MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 mysql-proxy:Oracle https://downloads.mysql.com/archives/proxy/ Atlas:Qihoo https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md dbproxy:美团 https://g…
MySQL/MariaDB数据库的复制监控和维护
MySQL/MariaDB数据库的复制监控和维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.清理日志 1>.删除指定日志文件名称之前的日志(也可用基于时间) MariaDB [yinzhengjie]> SHOW BINARY LOGS; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin. | | | my…
MySQL/MariaDB数据库的复制加密
MySQL/MariaDB数据库的复制加密 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的安全问题 1>.基于SSL复制 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,外网里访问数据或则复制,存在安全隐患.通过SSL/TLS加密的方式进行复制的方法,来进一步提高数据的安全性 2>. 配置实现步骤概述 主服务器开启SSL:[mysqld] 加一行ssl 主服务器配置证书和私钥:并且创建一个要求必须使用SSL连…
MySQL/MariaDB数据库的复制过滤器
MySQL/MariaDB数据库的复制过滤器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.复制过滤器概述 1>.复制器过滤器功能 让从节点仅复制指定的数据库,或指定数据库的指定表. 2>.两种实现方式 方案一: 主服务器仅向二进制日志中记录与特定数据库相关的事件 此项和binlog_format相关,详情请参考官网说明:https://mariadb.com/kb/en/library/mysqld-options/#-binlog-ignore-db binl…