技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL
    最近在MacOS下用django框架做web开发,于是用MacPorts安装了MySQL5。但是测试时django的测试框架会报错,原因是UTF8数据无法插入。我们知道,MySQL安装完成后默认编码为latin1,并不适合中文应用。因此我们通常用下面的SQL语句创建数据库: CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 而django测试框架创建测试数据库时并不会像这样指定编码,因此创建的数据库编码为latin1,导致加载UTF8数据...
    如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式...
    MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可。MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节。最近我在做一些ASP.NET+MySQL的应用,特地对MySQL的授权许可进行了研究。(以下说明,如有错误,欢迎指正)使用MySQL作为数据库的应用是否会“被GPL”MySQL开源软件(包括MySQL社区版数据库服务器、驱动程序和链接库等)是在GPL许可下提供的。GPL(Gener...
    在做一个 Gearman 来现在一个分布式时,我想当 MySQL 有更新时,自动的使用 MySQL 的触发器来提交更新到集群的队列中,在这个项目中,看到 MySQL 的触发器(TRIGGER)非常合适和 Gearman 的 UDF 配合...
    数据库 Sharding 目前已经是数据层架构的家常便饭了,随着越来越多的人不断的通过 Sharding 技术来提升数据层的扩展能力,Sharding 本身所带来的各种弊端也开始不断的显露出来了。最近和朋友聊天的时候针对 Sharding 带来的问题做了一些交流,记录之: 急于 Sharding,分区键考虑不充分,影响业务发展 Sharding 本身是一个需要慎重对待的事情,尤其是分区键的选择。好的分区键会让整个系统基本上对应用没有影响,但是如果选择了一...
    count(*), count(time)和count(id)的对比. 结果有较大变化. 当表的字段只有2个且查询条件较宽松(即符合条件的记录数较多)时, count(id)比count(*)快很多, 但是, 当表中还有其它的字段时, count(id)反而更慢了. 虽然id是主键, time是索引列, 但是select count(id) where time并没有用到索引, 而是进行全表扫描. 当对count(*)进行ignore key(time)时, 查询时间和count(id)相同. 证明当结果集较大时索引导致查询变慢, 应该是全表扫描进行的是连续的磁盘IO和内存操作, 而使用索引是进行随机的磁盘IO和内存操作, 并且MyISAM存储索引的BTree结构占用更多的空间. 当WHERE条件约束更严格, total的值小到一定程度时, 全表扫描比使用索引慢, 因为索引极大减少了磁盘IO和内存操作.
    由于 MySQL 的局限性,很多站点都采用了 MySQL+Memcached 的架构。另外一些站点放弃 MySQL 而采用 NoSQL,比如 TokyoCabinet/Tyrant 等。不可否认,在做一些简单查询 (尤其 PK 查询) 的时候,NoSQL 比 MySQL 要快很多很多。而且网站上的绝大多数查询都是这样的简单查询。 像其他大规模的公司一样,DeNA 也面临过类似的问题。但最后...
    sql_slave_skip_counter这个全局参数,维护过主从架构的DBA一定都不陌生,当从库的sql_thread被意外中断,你又想尽快恢复主从间的正常复制,就会用到这个参数;这个跳过的后果就是,你的业务要能容忍这个跳过所带来的丢失,也就是主库和从库上的数据将会不再一致,尽管之后你的主从同步又正常,其实严格意义上,这个从库已经没有意义了,无论是去备份还是对外提供读的服务,也就是说“她”已经不在纯净。那么,这个参数具体是什么...
    这三天看了高性能Mysql这本书的第七章-操作系统和硬件优化. 至于为什么看这章节,主要是因为最近一直在看操作系统原理这本书,是想通过了解具体的软件设计(比如Mysql)来进行思路的整理. 这章节不仅仅是优化,本身Mysql的设计也是借鉴了很多操作系统原理的知识,可以说假如了解了Mysql,那么学习其他的就可能融会贯通. 其实以前也看过这章节,但是到目前为止,基本上全忘了,所以说这有二方面原因: 1:不要假学习. 2:基础理论知识理解...
    在通常情况下,MySQL 的日志信息会输出到数据目录中的hostname.err文件中。以前一直想,能不能把日志通过 syslog输出到系统的LOG中,便于统一分析处理。当然,通过 syslog输出以系统LOG是第一步,后面是集中管理日志环节。以前,启动mysql 都是通过service mysqld start来启动,现在改变了这种方式,通过 mysqld_safe 脚本来启动mysql。我们想把日志通过 syslog输出到系统LOG中,同样是通过他来设置。平时可能我们只是通 /usr/loc...
    昨天有人在群里问, MySQL是否可以设置读写超时(非连接超时), 如果可以就可以避免一条SQL执行过慢, 导致PHP超时错误. 这个, 其实可以有. 只不过稍微要麻烦点.
    今天在MacBookPro上安装wordpress时,安装程序一直报错说连不上数据库。mysql客户端可以正常使用,可以确定不是服务器的问题。写了个php脚本单独执行mysql_connect(),发现错误信息居然是“No such file or directory"!这里应该没涉及到文件啊?在网上搜了一下,找到了这篇文章:mysql_connect and No such file or directory。原来,我的apache/php是mac系统自带的,而mysql是通过MacPorts安装的,它的本地socket设置与默...
    假设一个场景:在某一天,我需要将my01上的某些表转移到另一台机器my02上,都有哪些方法可以实现?至于转移的目的可能有很多,比如my01磁盘不够了,我对DB进行拆分;比如用性能更好(差)的my02代替my01;比如线上环境与线下环境进行数据备份…. 针对这个问题,你肯定会马上想出下面的方法: 从my01上SELECT出来,保存到一个文本文件里,再INSERT到my02上去; 如果是myisam表,直接从my01将文件scp到my02上去; 第一种方法可...
    使用 MySQL自带命令 mysqldumpslow 查看 OPTIONS -s ORDER ORDER, 主要有 c, t, l, r 和 ac, at, al, ar, 分别是按照 query次数, 时间, lock的时间和返回的记录数来排序, 前面加了a时倒序. -t NUM top NUM, 即为返回前面多少条的数据. -g PATTERN grep: 后边可以写一个正则匹配模式, 大小写不敏感
    MongoDB提供了部分系统的编译版本,但从研究学习以及线上不同依赖包的稳定性的目标,个人还是比较推荐从源代码编译安装的方式。MongoDB的源代码依赖了一些基础组件,如js引擎Spider Monkey,正则表达式引擎PCRE,安装构建工具Scons,以及C++的boost库等,因此编译还是有些麻烦的,realzyy的这篇文章已经比较详细的说明了编译的步骤,主要基于Redhat系统。
    按照官方的说法,MongoDB是一种可扩展的高性能的开源的面向文档(document-oriented )的数据库,采用C++开发。注意mongo不是mango(芒果),这个词是从humongous中截取出来的,其野心不言而明,直指海量数据存储。和其他很多NoSQL不太一样,MongoDB背后有一个专门的商业公司在提供支持和推广,有点类似MySQL AB的模式。这一系列文章,是为入门者写的,已经对NoSQL和MongoDB有一定研究和经验的,可以略过,或者看看如有疏漏,请留言指出。
    InnoDB是支持MVCC多版本一致性读的,因此和其他实现了MVCC的系统如Oracle,PostgreSQL一样,读不会阻塞写,写也不会阻塞读。虽然同样是MVCC,各家的实现是不太一样的。
    在 MySQL 中有 4 种不同的日志, 分别为错误日志, 查询日志和慢查询日志, 二进制日志. 默认情况下, 为尽量减少 IO 损耗, 系统只打开错误日志. 若需要复制, 就必须要打开二进制日志. 错误日志错误日志在 MySQL 数据库中很重要, 它记录着 MySQL 启动和停止, 以及服务器在运行过程中发生的任何错误的相关信息. 配置如果配置文件 my.cnf 没有指定 log_eror, 则错问日志默认文件名为 hostname.err, 存放于 datadir 目录中. mysql&#...
    这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了?
    MySQL 应用小笔记
[ 共525篇文章 ][ 第13页/共27页 ][ |< ][ 9 ][ 10 ][ 11 ][ 12 ][ 13 ][ 14 ][ 15 ][ 16 ][ 17 ][ 18 ][ >| ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1