MySQL
文章平均质量分 73
IM魂影
什么都懂一点点,奔向全栈的路上!
展开
-
每秒处理10万高并发订单支付系统架构
一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。分库策略我们选择了“二叉树分库”,所谓“二转载 2021-05-19 21:07:32 · 2355 阅读 · 0 评论 -
docker挂载mysql数据卷启动失败问题(Only one log file found)
异常错误某一天, 运行虚拟机, 突然mysql启动失败, 报一下错误:[root@localhost Web]# docker-compose up mysqlStarting soul-mysql ... doneAttaching to soul-mysqlsoul-mysql | 2021-03-01 08:39:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.原创 2021-03-01 16:54:27 · 4534 阅读 · 5 评论 -
MySQL8配置文件详解
配置文件参数优化,核心参数:innodb_buffer_pool # 注:缓冲池位于主内存中,InnoDB用它来缓存被访问过的表和索引文件,使常用数据可以直接在内存中被处理,从而提升处理速度;innodb_buffer_pool_instance# 注:MySQL5.6.6之后可以调整为多个。表示InnoDB缓冲区可以被划分为多个区域,也可以理解为把innodb_buffer_pool划分为多个实例,可以提高并发性,避免在高并发环境下,出现内存的争用问题;innodb_data_file_path转载 2020-12-25 14:21:23 · 3784 阅读 · 0 评论 -
关于 PHP MySQL 长连接、连接池的一些探索
hp连接mysql的方式,用的多的是mysql扩展、mysqli扩展、pdo_mysql扩展,是官方提供的。php的运行机制是页面执行完会释放所有该php进程中的所有资源的,如果有多个并发访问本地的测试页面 http://127.0.0.1/1.php 根据php跟web服务器的不同,会开相应的线程或者进程去处理该请求,请求完了会释放结果的。也就是php无法从语言层面从页面到页面之间传递一些数据,...转载 2018-10-21 18:30:16 · 3006 阅读 · 0 评论 -
高性能MySQL分支MariaDB、Percona、Drizzle大比拼
导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该 需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分 支:Drizzle、MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现的原因及其目标,以及是否可在...转载 2018-12-22 22:42:44 · 1388 阅读 · 0 评论 -
遇见 TiDB,放弃MySQL
最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB。TiDB 是什么?TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库...转载 2018-12-22 22:57:13 · 16019 阅读 · 0 评论 -
TiDB 在今日头条的实践
本文整理自今日头条数据库中间件/分布式数据库负责人吴镝([知乎 ID:吴镝](http://www.zhihu.com/people/foxmailed))在TiDB DevCon2018 上的分享内容。TiDB 主要应用在今日头条核心 OLTP 系统 - 对象存储系统中,存储其中一部分元数据,支持头条图片和视频相关业务,比如抖音等。如今(数据截至发文),TiDB 支撑着今日头条 OLTP...转载 2018-12-22 23:46:19 · 634 阅读 · 0 评论 -
为什么MariaDB更优于MySQL
本文为读者提供MariaDB和MySQL的深入见解。分析两者并讨论它们之间的差异。还有一部分内容阐述为什么MySQL用户应该切换到MariaDB。如今,组织有一系列数据库可供选择–无论是商业还是开源。曾经有一段时间,大多数数据库管理系统(DBMS)都是商业的。但是现在,随着众多开源数据库的推出,行业专业人士更愿意使用它们。实际上,开源数据库在当今市场上占有相当大的份额,因为用户可以根据需求自由...转载 2018-12-22 23:52:17 · 6889 阅读 · 0 评论 -
MySQL5.7优化InnoDB配置以及调优方案
InnoDB引擎在mysql应用中使用的非常广泛,一点PHP通过本文分享关于Mysql5.7中InnoDB的配置以及调优方案。InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级...转载 2018-12-28 14:33:14 · 1330 阅读 · 0 评论 -
CentOS 7下 yum 安装MariaDB10.3详解
前言mariadb 和mysql就像亲兄弟的关系,各种语法、驱动啥的,在mysql上能上的,在mariadb上基本都可以直接使用。更多的细节在此不多说。1、删除旧版本centos7下默认安装有mariadb数据库,但是是旧版本,在安装新版本前需要先把旧版本删除,有些系统还默认安装mysql,也必须删除,否则与mariadb会产生冲突,如下命令过程:rpm -qa | grep mariad...转载 2018-12-23 15:41:32 · 3228 阅读 · 0 评论 -
MYSQL死锁之路 - 常见SQL语句的加锁分析
这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁。只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题。在前面的博客中我们已经学习了 MySQL 下不同的锁模式和锁类型,我们要特别注意它们的兼容矩阵,熟悉哪些锁是不兼容的,这些不兼容的锁往往就是导致死锁的罪魁祸首。总体来说,MySQL 中的锁可以分成两个粒度:表锁...转载 2019-10-05 16:07:36 · 583 阅读 · 0 评论 -
充值系列——充值系统安全问题(四)
这是充值系列的最后一篇,将讨论充值安全的问题。正如这个系列的其他文章提到的,充值系统的流程如下:注意: 4,5执行顺序不确定,步骤4是支付平台自动向服务器请求,步骤5是玩家点击“返回商家网站”时支付平台请求服务器,如果玩家不点击,这可能不会触发,所以这是一个不可靠的请求。支付的安全问题主要发生在步骤3和4中。下面是详细说明:在步骤3中,客户端需要把订单信息提交给支付平台,比如玩家购买100...转载 2018-10-13 11:22:37 · 1265 阅读 · 0 评论 -
充值系列——充值系统业务逻辑层实现(三)
上一篇文章主要说明充值的执行逻辑和控制层的设计,这篇文章主要讨论充值业务层的具体实现。正如上一篇文章所说到的,生成订单需要如下几个步骤:(1)实例化操作人 (操作人)(2)实例化产品模型 (获取产品的详细信息)(3)实例化订单模型 (生成一笔状态为“交易中”的订单)(4)实例化支付平台模型 (把生成的订单返回给客户端,并引导用于去充值平台)一个完整的充值系统需要完善以上...转载 2018-10-13 11:17:33 · 3193 阅读 · 0 评论 -
CoreSeek快速安装教程
CoreSeek快速安装:安装前,建议查看:源码包说明README;4.0/4.1版可参考3.2版本安装,步骤相同;如遇到问题,请看详细安装说明。转载 2017-03-10 20:29:27 · 349 阅读 · 0 评论 -
CoreSeek(Sphinx)配置文件详细解释
CoreSeek配置文件详细解释,我们先要明白几个概念:source:数据源,数据是从什么地方来的。 index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。转载 2017-03-12 12:24:01 · 809 阅读 · 0 评论 -
MySQL备份与还原
MySQL备份与还原,mysql数据库的导入,有三种方法: 1) 先导出数据库SQL脚本,再导入; 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。原创 2017-07-30 14:50:41 · 373 阅读 · 0 评论 -
MySQL的分区总结
前言分区是指根据一定的规则将一个大表分解成多个更小的部分,这里的规则一般就是利用分区规则将表进行水平切分;逻辑上没有发生变化但实际上表已经被拆分成了多个物理对象,每个分成被划分成了一个独立的对象。相对于没有分区的当个表而言分区的表有很多的优势包括: 并发统计查询、快速归档删除分区数据、分散存储、查询性能更佳。转载 2017-09-27 19:02:20 · 726 阅读 · 0 评论 -
最全的MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、转载 2017-11-26 21:52:51 · 438 阅读 · 0 评论 -
CentOS 编译安装 PHP 5.6.25
相关依赖包安装1、演示环境 # more /etc/redhat-release CentOS release 6.9 (Final)2、扩展支持(mcrypt、mhash扩展和libevent) 如果想让编译的php支持mcrypt、mhash扩展和libevent,需要安装以下包libmcryptlibmcrypt-develmhashmhash-devel说转载 2018-01-10 16:00:27 · 1517 阅读 · 0 评论 -
MySQL 5.7.19 编译安装与配置
进入MySQL官网下载页面,地址https://www.mysql.com/downloads/,如果你想使用MySQL 5.7.19的源码版本,点此处直接下载!进入MySQL Community Edition下载页面 选择操作系统为Source Code,选择操作系统版本为Generic Linux,选择Compressed TAR Archive, Includes Boost转载 2018-01-10 10:09:15 · 8631 阅读 · 2 评论 -
mysql 5.7配置项最详细的解释
配置样例首先提供一个我使用的配置样例[client]#password=88888888socket=/data/var/mysql/mysql.sock[mysqld_safe]pid-file=/data/var/mysql/mysqld.pidlog-error = /data/local/mysql-5.7.19/log/mysql-error.log[mysq转载 2018-01-20 20:03:21 · 894 阅读 · 0 评论 -
充值系列—充值系统数据库设计(一)
在我们的游戏充值模块中,接入了支付宝,苹果,Paypal, googleplay , mycard, mol, 360,机锋,91等各种充值渠道。这篇文章(包括接下来的几篇文章)将对充值系统的需求,数据库设计,构架,充值流程,安全处理,各种渠道的详细接入方式等各个方面做出详细的说明。充值最基本的需求是,玩家付费购买内置商品后得到相应的商品。首先需要解决三个个问题:(1)购买渠道(2)商品的数...转载 2018-10-13 11:02:34 · 8193 阅读 · 1 评论 -
充值系列——充值系统的架构(二)
一篇文章主要介绍了充值系统的基本概要说明和数据库设计。这篇文章主要讨论充值的基本流程和系统架构。简单来说,充值的基本流程就是:玩家选择一个支付平台,选择这个平台下面出售的某个商品,付款成功后玩家会得到所购买的商品。数据交互图玩家客户端指的是浏览器或者SDK。上面数据交互图中需要有几点注意:(1)玩家客户端,游戏服务器,支付平台这三者之间扮演的角色游戏服务器只是提供数据的提供者和数据的...转载 2018-10-13 11:06:31 · 7354 阅读 · 1 评论 -
MySQL创建用户的三种方法
前言:MySQL创建用户的方法分成三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。转载 2017-03-21 13:11:57 · 647 阅读 · 0 评论