摘要: MySQL如何避免使用swap发表于153 天前⁄MySQL优化⁄暂无评论Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统。这篇blog主要讲讲我们作为DBA,怎样尽量避免MySQL惨遭swap的毒手。首先我们要了解点基础的东西,比如说为什么会产生swap。假设我们的物理内存是16G,swap是4G。如果MySQL本身已经占用了12G物理内 阅读全文
posted @ 2012-02-07 17:34 haiwei.sun 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: MySQL MyISAM/InnoDB高并发优化经验发表于153 天前⁄MySQL优化⁄暂无评论最近做的一个应用,功能要求非常简单,就是 key/value 形式的存储,简单的 INSERT/SELECT,没有任何复杂查询,唯一的问题是量非常大,如果目前投入使用,初期的单表 insert 频率约 20Hz(次/秒,我喜欢这个单位,让我想起国内交流电是 50Hz),但我估计以后会有 500Hz+ 的峰值。目前的工作成果,额定功率 200Hz(CPU 占用 10 – 20,load avg = 2),最大功率 500Hz(这时 load avg > 20,很明显,只能暂时挺挺,应该在出现这种 阅读全文
posted @ 2012-02-07 17:33 haiwei.sun 阅读(1947) 评论(0) 推荐(0) 编辑
摘要: MySQL Innodb 存储引擎参数优化发表于153 天前⁄MySQL优化⁄暂无评论文章目录[隐藏]1.内存利用方面:2.关于日值方面:3.文件IO分配,空间占用方面4. 其它相关参数介绍:InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。InnoDB也支持FOREIGN KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的 阅读全文
posted @ 2012-02-07 17:32 haiwei.sun 阅读(1440) 评论(0) 推荐(0) 编辑
摘要: MySQL my.cnf参数配置优化详解PS:本配置文件针对Dell R710,双至强E5620、16G内存的硬件配置。CentOS5.6 64位系统,MySQL5.5.x 稳定版。适用于日IP 50-100w,PV 100-300w的站点,主要使用InnoDB存储引擎。其他应用环境请根据实际情况来设置优化。# 以下选项会被MySQL客户端应用读取。# 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。# 如果你想你自己的MySQL应用程序获取这些值。# 需要在MySQL客户端库初始化的时候指定这些选项。#[client]#password = [your_password]port 阅读全文
posted @ 2012-02-07 17:31 haiwei.sun 阅读(143) 评论(0) 推荐(0) 编辑
摘要: MySQL常用用户管理命令发表于153 天前⁄MySQL基础⁄评论数 1文章目录[隐藏]1、添加用户2、删除用户3、权限回收4、创建用户授权一起实现5、限制用户资源6、用户密码设置7、关于加密8、授权精确到列1、添加用户本机访问权限:mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'-> IDENTIFIED BY 'password' WITH GRANT OPTION;远程访问权限:mysql> GRANT ALL PRIVILEGES ON *.* TO 阅读全文
posted @ 2012-02-07 17:27 haiwei.sun 阅读(347) 评论(0) 推荐(0) 编辑
摘要: MySQL常用命令大全发表于215 天前⁄MySQL基础⁄暂无评论下面是我们经常会用到且非常有用的MySQL命令。下面你看到#表示在Unix命令行下执行命令,看到mysql>表示当前已经登录MySQL服务器,是在mysql客户端执行mysql命令。登录MySQL,如果连接远程数据库,需要用-h指定hostname。# [mysql dir]/bin/mysql -h hostname -u root -p创建一个数据库。mysql> create database [databasename];列出所有数据库。mysql> show databases;切换到一个数据库。my 阅读全文
posted @ 2012-02-07 17:26 haiwei.sun 阅读(2383) 评论(0) 推荐(0) 编辑
摘要: MySQL查询缓存设置 提高MySQL查询性能发表于102 天前⁄MySQL优化⁄暂无评论从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间,非常有用。打开查询缓存,是通过几个步骤来设置的,例如:虽然你设置Mysql允许查询缓存,但是如果你设置的查询缓存大小为了0,这和没有允许没什么区别。所以必须是几个步骤的设置才能真正打开查询缓存这个功能。下面我用 mysql6.0 最为演示最常用的设置查询缓存第一: query_cache_ 阅读全文
posted @ 2012-02-07 17:14 haiwei.sun 阅读(6876) 评论(0) 推荐(0) 编辑
摘要: MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册。--auto-generate-sql, -a自动生成测试表和数据--auto-generate-sql-load-type=type测试语句的类型。取值包括:read,key,write,update和mixed(默认)。--number-char-cols=N, -x N自动生成的测试表中包含多少个字符类型的列,默认1--number-int-cols=N 阅读全文
posted @ 2012-02-07 17:13 haiwei.sun 阅读(275) 评论(1) 推荐(0) 编辑
摘要: CentOS安装mysql分布式缓存服务器memcachedMemcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。下面我们来一步步安装memcached。1、首先为PHP安装扩展memcache。参考如下教程。http://www.centos.bz/2011/11/linux-install-php-memcache/2、安装libeventyum -y install libevent-devel3、下载memcachedwget -c http://memcach 阅读全文
posted @ 2012-02-07 17:09 haiwei.sun 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库发表于82 天前⁄网站备份⁄暂无评论mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中。 与mysqldump比较: 1、前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。 2、前者只能运行在数据库目录所在的机器上,后者可以用在远... 阅读全文
posted @ 2012-02-07 17:08 haiwei.sun 阅读(2193) 评论(0) 推荐(0) 编辑
摘要: http://www.centos.bz/2011/12/mysql-5-5-x-virtual-mem-high/5,5默认存储引擎是innodb,所以一起动就占用了三百多的虚拟内存,我们一般用的存储引擎是MyISAM,需要禁用innodb,设置默认的引擎为MyISAM。解决方法:在[mysqld]里面加入default-storage-engine = MyISAMinnodb=OFFskip-innodb重启mysql即可。 阅读全文
posted @ 2012-02-07 16:56 haiwei.sun 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 开启mysql慢查询日志并使用mysqldumpslow命令查看发表于21 天前⁄FAQ⁄暂无评论mysql服务器有一项功能,可以检测到哪条sql语句查询得比较慢,就是慢查询slowlog,现在介绍如何开启。在[mysqld]下面增加如下代码:long_query_time = 1log-slow-queries = /usr/local/mysql/data/slow.loglog-queries-not-using-indexeslong_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries。log-slow-queries = /usr/local/mys 阅读全文
posted @ 2012-02-07 16:51 haiwei.sun 阅读(6074) 评论(0) 推荐(1) 编辑
摘要: Linux MySQL主从复制(Replication)(MySQL数据同步)配置发表于216 天前⁄MySQL基础,网站备份⁄暂无评论文章目录[隐藏]配置主服务器(master)配置从服务器(slave)当我们要做负载均衡的时候,我们必须考虑三个问题:1、智能DNS的使用;智能DNS我们可以用DNSPod来解决,看这篇文章:怎样用DNSPod做负载均衡。2、文件的同步;而文件的同步可以通过rsync软件来解决,看这篇文章:rsync服务器架设。3、MySQL数据库的同步。剩下是MySQL数据库的同步了,这节我们就来解决这个问题。MySQL是开源的关系型数据库系统。复制(Replication 阅读全文
posted @ 2012-02-07 16:43 haiwei.sun 阅读(795) 评论(0) 推荐(0) 编辑
摘要: http://www.centos.bz/2011/07/linux-mysql-replication-two-way-sync/#配置当前从服务器Linux MySQL主主复制(Replication)(MySQL数据双向同步)配置发表于215 天前⁄MySQL基础⁄暂无评论文章目录[隐藏]配置当前从服务器配置原始主服务器当你的MySQL数据库需要在多台服务器读写数据时,比如论坛,你就需要配置主-主复制。它可以将近实时地把数据从其中的一台复制到其它的服务器,每个服务器既是主服务器又是从服务器。这种系统不适合当备份用,因为当其中的一台发生故障,比如删除所有数据表,那其它的服务器也会执行同样的 阅读全文
posted @ 2012-02-07 16:36 haiwei.sun 阅读(1175) 评论(0) 推荐(0) 编辑
摘要: 一、准备用两台服务器做测试:Master Server: 192.0.0.1/Linux/MYSQL 4.1.12Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18 做主从服务器的原则是,MYSQL版本要相同,如果不能满足,最起码从服务器的MYSQL的版本必须高于主服务器的MYSQL版本二、配置master服务器1. 登录Master服务器,编辑my.cnf#vim /etc/my.cnf在[mysqld]段添加以下内容:[mysqld]log-bin=mysql-binserver-id=1binlog-do-db=extmailbinlog-ignore- 阅读全文
posted @ 2012-02-07 16:18 haiwei.sun 阅读(1829) 评论(2) 推荐(0) 编辑
摘要: @安装memcache #wget http://pecl.php.net/get/memcache-2.2.6.tgz #tar zxvf memcache-2.2.6.tgz # cd memcache-2.2.6 #/usr/local/webserver/php/bin/phpize #./configure --with-php-config=/usr/local/webserver/php/bin/php-config #make #make install 显示如下信息时为安装成功: Installing shared extensions: /usr/local/webserv 阅读全文
posted @ 2012-02-07 15:32 haiwei.sun 阅读(2630) 评论(2) 推荐(0) 编辑
摘要: 一.下载memcached安装包wget http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz安装memcache安装包tar xvzf memcached-1.2.2.tar.gz 解压缩cd memcached-1.2.2 进入目录./configure -with-libevent=/usr 设置环境make 编译make install 安装ls -al /usr/local/bin/mem* 有以下这些现实,说明安装OK[root@bogon ~]# ls -al /usr/local/bin/mem*-rwxr-xr- 阅读全文
posted @ 2012-02-07 15:26 haiwei.sun 阅读(489) 评论(0) 推荐(0) 编辑
摘要: [我的Linux,让Linux更易用]memcached是一套分布式的快取或缓存系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。 memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。 memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以 LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcache 阅读全文
posted @ 2012-02-07 15:19 haiwei.sun 阅读(522) 评论(1) 推荐(0) 编辑
摘要: http://www.ccvita.com/259.htmlMemcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解 :)为什么会有Memcache和memcached两种名称?其实Me 阅读全文
posted @ 2012-02-07 15:13 haiwei.sun 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 安装系统需求:需要2 GB硬盘剩余空间安装前建议先运行screen安装步骤:1、下载LNMP一键安装包:可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -chttp://soft.vpser.net/lnmp/lnmp0.8.tar.gz,如果使用完整版,执行命令 wget -chttp://soft.vpser.net/lnmp/lnmp0.8-full.tar.gz,执行上述命令后LNMP一键安装包就会被下载到VPS上。2、解压一键安装包:执行tar zxvf lnmp0.8.tar.gz 或者tar zxvf lnmp0 阅读全文
posted @ 2012-02-07 14:59 haiwei.sun 阅读(325) 评论(0) 推荐(0) 编辑
返回顶部