随笔分类 - MYSQL
摘要:首先看一下分页的基本原理:mysql> explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20G ***************** 1. row ************** id: 1 select_type: SIMPLE table: message type: index possible_keys: NULL key: PRIMARY key_len: 4 ref: NULL rows: 10020 Extra: 1 row in set (0.00 sec)limit 10000,20的意思扫描满足条件的
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com# 以下选项会被MySQL客户端应用读取。# 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。# 如果你想你自己的MySQL应用程序获取这些值。# 需要在MySQL客户端库初始化的时候指定这些选项。#[client]#password = [your_password]port = @MYSQL_TCP_PORT@socket = @MYSQL_UNIX_ADDR@# *** 应用定制选项 ***## MySQL 服务端#[mysqld]# 一般配置选项port = @MYSQL_TCP_PORT@socket
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com1·安装Python2.7.3[root@centos ~]# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2[root@centos ~]# tar jxvf Python-2.7.3.tar.bz2 [root@centos ~]# cd Python-2.7.3[root@centos ~]# make && make install[root@centos ~]# rm /usr/bin/python &am
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com相比前面介绍的各种复制结构,MySql Cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强。但是MySql Cluster的性能一直偏低,好在现在的7.x版本,性能上已经有了很大的改进和提高。MySql Cluster采用的是NDB存储引擎,在建表的时候必须指定ENGINE为ndbcluster,这是一种内存式的存储引擎,因此对内存的要求很高。足够大的内存,处理速度更快的CPU,更快的网络的环境(千兆以上),在Sql节点使用cache技术等措施都能显著提高集群的效率,但是具体的优化配置得根据你的实际情况和需
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.comMySql主从复制(Master-Slave)先简单的说一下MySql复制的过程,但是实际的每个步骤比这要复杂。1.主(master)服务器把数据更改的记录或者事件记录到二进制日志里。2.从(slave)服务器把主服务器的二进制日志复制到自己的中继日志里。3.从(slave)服务器根据中继日志的内容应用到自己的数据上。假设我们的主从复制结构是由3台服务器构成,1台master,2台slave。文章中的命令行提示符的含义:123[root@m/s/s ~]# 表示要在master slave slave三台服务器里都要执行的
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com本文将介绍主动被动模式下的MySql主主复制,和前一篇讲的主动主动模式下的主主复制相比,最大的差别就是,其中一台主服务器是只读的被动服务器(不是固定的,动态切换),因此很好的解决了主动主动模式下的冲突问题以及同时插入数据可能产生的数据错误(高性能MySql那本书上有详细的分析),并且一台主服务器挂了也不影响数据的写入,从而实现高可用性(不能算是完全的)。要实现这种结构,我们需要使用Google的开源项目MySql-MMM(其实这个工具是perl脚本),他把服务器的角色抽象成writer和reader,并混合了固定IP和虚拟
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com本篇简单的介绍一下MySql主动-主动模式下的主主复制,虽然这种模式的复制会出现很多问题,最明显的就是自增主键的冲突问题,但是在某些特定的环境下,还是会用到这种复制模式。假设我们的主从主从复制结构是由4台服务器构成,2台master,2台slave。master服务器1:192.168.0.100 slave服务器1:192.168.0.101master服务器2:192.168.0.200 slave服务器2:192.168.0.201构成的结构图如下:首先,分别在4台机器上安装MySql,并使用MySql自带的my-m
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com根据Mysql管理手册中提到:每个Mysql的服务都可为独立的,所以它都调用一个my.cnf中各自不同的启动选项–就是下文中将提到的GNR值,使用不同的端口,生成各自的套接文件,服务的数据库都是独立的。所需要的准备有:(其实都是现成的)1.只需要安装一套mysql的服务器软件就ok2.需要有mysqld_multi3.需要修改/etc/my.cnf解释:1../configure –prefix=/usr/local/mysql –datadir=/usr/local/mysql/data1 –sysconfdir=/et
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为--log-bin。要想确定当前的二进制日志文件的文件
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com下载:wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.1.33.zip安装: unzip mysql-5.1.33.zip cd mysql-5.1.33.zip ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readl
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com基于上面的MYSQL集群,可以达到MYSQL数据库完整的备份及同时可读可写,现在我们要实现高可用,通过一个IP可以同时访问各个节点的MYSQL。实现真正的高可用。上面是两台数据节点和SQL节点上做LVS + heartbeat 来实现高可用!分别在两台服务器上面安装ipvsadm heartbeat 。我这里采用yum源来安装!1,配置两台服务器/etc/hosts文件 我的如下127.0.0.1 localhost.localdomain localhost192.168.0.118 mgm192.168.0...
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.comMySQL Cluster 是用于解决高可用和高可靠性的解决方案。 MySQL Cluster 具有故障恢复、节点修复、数据同步、非单点故障等优点。 MySQL Cluster是为提供99.999%以上的高可用性而设计的,采用分布式节点设计技术,不会因为单点故障而使整个Cluster瘫痪。 MySQL Cluster由3类节点组成:管理节点、数据节点、SQL节点。 1:数据节点 数据节点...
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.comPosted on 2009-02-03 14:13 曹振华 阅读(45) 评论(0) 编辑收藏 引用 网摘 所属分类: mysql -->通过分区(Partition)提升MySQL性能[转]2008-10-10 01:01虽然是很早的一篇文章,虽然也看过有关mysql的分区介绍,不过始终还不是特别的了解,于是今天再拜读一遍。这篇文章写得相当不错转自:http://fanqiang.chinaunix.net/db/mysql/2006-05-08/4135.shtml什么是数据库分区? 数据库分区是一种物理数据库
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.commysql的安装过程比较简单,这里略过 1.在maste主机上,配置my.cnf 在[mysqld]配置段添加如下字段中增加 log-bin=mysql-bin.log binlog-do-db=blog #要同步的数据库的名字 binlog-do-db=index #要同步的数据库的名字 server-id=1 ...
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com问题:主从服务器表类型的选择一般的共识是主服务器使用innodb,从服务器使用myisam,以便各尽其能。问题:主从服务器字段类型的选择字段类型对于分页等操作有很大影响。主服务器一般是innodb,因为不涉及查询,所以可以使用varchar等来存储字符串来节省空间,从服务器一般是 myisam,因为涉及查询,所以必须在char和varchar之间仔细权衡,没有varchar, text, blob字段的表是静态表,反之是动态表,静态表的检索效率要比动态表好若干倍,一般来说,所有涉及大结果集的查询都应该尽可能保证在静态表上完
阅读全文
摘要:博客已经搬家,请访问如下地址:http://www.czhphp.com注本文并非原则,只是简单的总结,大家有问题多关注一下以下两个站点:http://imysql.cn/http://dev.mysql.com/doc/refman/5.1/zh/index.html1.修改root用户的的口令 缺省情况下MySQL没有设置密码,我们可以用三种方法设置密码头: *用mysqladmin命令来改root用户口令 # mysqladmin -uroot password 54netseek //设置MySQL管理操作用户root的密码为52netseek*用set password修改口令: m
阅读全文