Welcome 微信登录

首页 / 数据库 / MySQL

mysql sharding(碎片)介绍

mysql sharding(碎片)介绍

1、Sharding 的应用场景一般都那些?当数据库中的数据量越来越大时,不论是读还是写,压力都会变得越来越大。试想,如果一张表中的数据量达到了千万甚至上亿级别的时候,不管是建索引,优化缓存等,都会面临巨大的性能压力。sharding通过某种条件,把同一个数据库中的数据分散到多个数据库或多台机器上,以减小单台机器压力。联机游戏、IM、BSP 都是比较适合 Sharding 的应用场景;2、Sharding与数据库分区(Partition)的区别?shard...
MySQL服务器连接过程浅析

MySQL服务器连接过程浅析

mysqld是MySQL服务器端主进程,可以说mysqld是MySQL的真正核心,一切工作都是围绕mysqld进程进行的。所以要解剖mysql这个庞然大物,mysqld的代码是最好的突破口。一切都是从熟悉的main()函数开始的,其实是从mysqld_main()函数开始的。这些代码都在mysqld.cc。mysqld_main()随后调用了win_main)()。win_main()函数主要是做了一些初始化的工作。初始化工作完成之后,MySQL已经做好准...
MySQL存储引擎中的MyISAM和InnoDB区别详解

MySQL存储引擎中的MyISAM和InnoDB区别详解

在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了Inno...
开源MySQL高效数据仓库解决方案:Infobright详细介绍

开源MySQL高效数据仓库解决方案:Infobright详细介绍

Infobright是一款基于独特的专利知识网格技术的列式数据库。Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类),infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个。mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像Inn...
Mysql中的Datetime和Timestamp比较

Mysql中的Datetime和Timestamp比较

mysql中用于表示时间的三种类型date, datetime, timestamp (如果算上int的话,四种) 比较容易混淆,下面就比较一下这三种类型的异同相同点都可以用于表示时间都呈字符串显示不同点1.顾名思义,date只表示"YYYY-MM-DD"形式的日期,datetime表示"YYYY-MM-DD HH:mm:ss"形式的日期加时间,timestamp与datetime显示形式一样。2.date和datetime可表示的时间范围为"1000-0...
Mysql中的Btree与Hash索引比较

Mysql中的Btree与Hash索引比较

mysql最常用的索引结构是btree(O(log(n))),但是总有一些情况下我们为了更好的性能希望能使用别的类型的索引。hash就是其中一种选择,例如我们在通过用户名检索用户id的时候,他们总是一对一的关系,用到的操作符只是=而已,假如使用hash作为索引数据结构的话,时间复杂度可以降到O(1)。不幸的是,目前的mysql版本(5.6)中,hash只支持MEMORY和NDB两种引擎,而我们最常用的INNODB和MYISAM都不支持hash类型的索引。不...
MySQL 实现双向复制的方法指南

MySQL 实现双向复制的方法指南

简介我知道有很多文章和指南介绍在互联网上实现主-从复制。在主-从复制中,主机影响从机。但从数据库中的任何更改不会影响主数据库,这篇文章将帮助你实现双向复制。(即,无论是主机还是从机的更改都将影响这两个服务器)。背景你能参考Aadhar Joshi的这篇文章实现主从复制,或者您可以按照以下简单的步骤:参考一下:在机器A配置主机(192.168.1.30)在机器B配置从机(192.168.1.29)我们可以使用下面的步骤来实现这一点步骤1:机器A设置主机在主机...
多种不同的 MySQL 的 SSL 配置

多种不同的 MySQL 的 SSL 配置

在这篇博客的帖子里,我将会描述不同的使用MySQL数据库的SSL配置方法。SSL给了你什么?你可以通过互联网使用 MySQL 复制特性(replication) 或者通过互联网连接到MySQL。还有可能是你通过企业网去连接,这样会有很多人访问。如果你使用一个自带设备(BYOD)网络,这就更是一个问题了。SSL在这里通过加密网络防止有针对性的监听。在与正确的服务器进行交互时,可以有效应对中间人攻击(man-in-the-middle attacks)...
MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作

MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作

MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”。 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图形化的理解透彻,因为我本来就比较喜欢写代码。同时写出来这些文章,是想要给大家当个参考,希望也能对大家有所帮助,有所提升,这就是我为什么要写终端操作MySQL的文章了。注意:MySQL数据库命令不区分大小写。但在MAC的终端,如果你想使用tab自动补全命令,那么你就必...
深入分析Mysql中limit的用法

深入分析Mysql中limit的用法

Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的...
浅谈mysql的中文乱码问题

浅谈mysql的中文乱码问题

首先,我用的mysql版本号是5.5.17的,最近遇到的问题是在eclipse中通过jdbc往数据库写中文数据的时候,在数据库中显示的是??即乱码,为解决这个问题,搞了一个晚上(当然熄灯后就就寝了(__) )外加早上这会儿,搞得头都大了,改来改去导致连往数据库直接写中文都会报错(我把错误页贴出来吧)如下: 其实现在回头看看,乱码无非是改一下mysql安装文件中的my.ini文件以及data中的db.opt文件,具体修改如下:将my.ini文件中的文件修改为...
Ubuntu下完美实现迁移MySQL数据库位置

Ubuntu下完美实现迁移MySQL数据库位置

考虑到数据安全问题,准备把服务器上的数据库迁移到刚刚挂载的云硬盘上,研究一下,这个方法是最靠谱的,分享之!首先建立数据库即将迁移到的目录复制代码 代码如下:mkdir /media/hdb1/db复制linux下原数据到新目录下复制代码 代码如下:cp -dpR /var/lib/mysql/* /media/hdb1/db给新目录重命属性复制代码 代码如下:chown mysql:mysql /media/hdb1/db修改文件"/etc/apparmo...
MySQL中按照多字段排序及问题解决

MySQL中按照多字段排序及问题解决

因为在做一个项目需要筛选掉一部分产品列表中的产品,使其在列表显示时排在最后,但是所有产品都要按照更新时间排序。研究了一下系统的数据库结构后,决定将要排除到后面的产品加为粗体,这样在数据库中的“ifbold”就会被标记为1,而其他产品就默认标记为0,然后就打算使用MySQL在Order By时进行多字段排序。Order by的多条件分割一般使用英文逗号分割,所以我测试的SQL如下:复制代码 代码如下:select * from {P}_product_con...
MySQL外键使用详解

MySQL外键使用详解

最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键。(1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束(2)外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;(3)外键的作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!(4)建立外键的前提:两个表必须是InnoDB表类型。...
MySql insert插入操作的3个小技巧分享

MySql insert插入操作的3个小技巧分享

1.插入的数据来源自其他表表A有id, cola 字段表B有id, cola, colb...等字段,其中id都为主键,cola为相同名字的列现想将表B中colb>1000的记录都插入表A中,SQL语句可以这样写:复制代码 代码如下:insert into A(id,cola) select id,cola from B where colb>1000 2.插入时排除(忽略)重复记录现表A中有一部分记录了,再做如1中的插入操作可能遇到重复的ke...
mysql修改自增长主键int类型为char类型示例

mysql修改自增长主键int类型为char类型示例

原来有一个表中的主键是int自增长类型,因为业务变化需要把int改成char类型的主键。同时因为原来的表中已经存在了数据,不能删除表重建,只能修改表结构。首先去掉自增长属性:alter table table_name change indexid indexid int;然后去掉主键:ALTER TABLE table_name DROP primary key;修改表结构为char类型:alter table table_name change ind...
Windows下使用Cygwin编译MySQL客户端

Windows下使用Cygwin编译MySQL客户端

MinTTY 是一个小巧但却很实用的 Cygwin 终端机,但有个严重的问题就是无法调用交互性的 Windows 原生程序,比如说 mysql.exe,当你在 MinTTY 中输入如下的命令:复制代码 代码如下:$ mysql -uroot -p本来 mysql.exe 会提示输入密码,但在 MinTTY 中程序会直接挂起,不再响应,实际上即使在 -p 参数后面跟上密码,也是一样的。某些程序,比如 python,会提供参数 -i,使自身在终端中进入交互模式...
<< 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 >>