之乎者也2011

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月5日

摘要: 参数优化:其实是MYSQL官方留给我们适用于我们服务器具体情况的一种解决方式 .两个命令:show status #列出MySQL服务器运行各种状态值Show variables #列出MYSQL服务器配置信息1: 慢查询log_slow_queries=slow_queries #这个与以前作用基本相同,并且还是需要重启才能生效(ON:为打开off:为关闭)Slow_launch_time #执行时间超过2秒则被记录。slow_query_log #这是一个可以在运行时改变的全局变量,表示是否打开慢查询日志,在... 阅读全文
posted @ 2011-09-05 05:24 之乎者也2011 阅读(233) 评论(0) 推荐(0) 编辑

摘要: 版本:mysql-5.0.56很简单,遇到错误,去查日志就行了:MYSQLPATH/var/localhost.localdomain.erruseradd mysqltar zxvf mysql-5.0.56.tar.gzcd /home/changyou/mysql-5.0.56./configure --prefix=/Apps/mysql--without-debug #去除debug模式--with-extra-charsets=gb2312 #添加gb2312中文字符支持--enable-assembler #使用一些字符函数的汇编版本... 阅读全文
posted @ 2011-09-05 05:23 之乎者也2011 阅读(481) 评论(0) 推荐(0) 编辑

摘要: 主从库同步失效的原因各种各样,一般都是在从库上不小心执行了写操作,也有可能从库服务器意外重启等等。进入从库执行show slave status\G看到下面两行:Slave_IO_Running: YesSlave_SQL_Running: Yes任意一个不为yes就说明同步出了问题。基本上解决的办法无外乎这么几种:1. 如果是事务回滚造成的那么可以尝试:mysql > slave stop;mysql > set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;mysql > slave start;2. 如果上面的方法没有作用,那么基本上下面的方法一定奏效 阅读全文
posted @ 2011-09-05 05:23 之乎者也2011 阅读(403) 评论(0) 推荐(0) 编辑

摘要: 我们知道MySQL的MyISAM引擎每个表都会生成三个文件,*.frm、*.MYD、*.MYI 三个文件,分表用来保存表结构、表数据和表索引。Linux下面每个目录下的文件数量最好不要超过1000个,不然检索数据将更慢,那么每个表都会生成三 个文件,相应的如果分表超过300个表,那么将检索非常慢,所以这时候就必须再进行分,比如在进行数据库的分离。使用基础表,我们可以新增加一个字段,用来保存这个表保存在什么数据。使用Hash的方式,我们必须截取hash值中第几位来作为数据库的名字。这样,完好的解决这个问题。function calc_hash_db($u, $s = 4){ $h = sp... 阅读全文
posted @ 2011-09-05 05:22 之乎者也2011 阅读(2222) 评论(0) 推荐(0) 编辑

摘要: 可以帮助选择更好的索引和写出更优化的查询语句,可以帮助选择更好的索引和写出更优化的查询语句。对某个query优化中,需要不断的explain来验证各种调优是否有效。EXPLAIN各列的含义:idMysql Query Optimizer选定的执行计划中的序列号(查询序列号)select_typeselect查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。table所引用的表。type显示的是访问类型,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > rang 阅读全文
posted @ 2011-09-05 05:22 之乎者也2011 阅读(538) 评论(0) 推荐(1) 编辑

摘要: 1.权限查看mysql> show grants for ‘root’@'localhost’ ;+——————————————————————————-+| Grants for root@localhost |+——————————————————————————-+| GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ WITH GRANT OPTION |+——————... 阅读全文
posted @ 2011-09-05 05:21 之乎者也2011 阅读(1330) 评论(0) 推荐(0) 编辑

摘要: Replication 是什么?Mysql的Replication是一个 “异步” 的复制过程,也就是从Master复制到一个Slave上。Mysql 5.1 多线程实现主从复制重要的是,从Mysql5.1起,Master与Slave之间的复制过程修改为三个线程来完成。其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端,使用并行的处理方式。而老版本的主从复制是用一个线程来处理。这样的话,就解决了从库延迟的问题;以及,从库处理Bin_log时,主库又新增数据,从而带来的数据丢失问题。主从复制基本过程主从库的整个复制过程实际上就是:Slave从Ma 阅读全文
posted @ 2011-09-05 05:20 之乎者也2011 阅读(1200) 评论(0) 推荐(0) 编辑

摘要: 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的。下面总结一些使用过或者研究过的经验,从配置以及调节索引的方面入手,对mysql进行一些优化。第一步应该做的就是排查问题,找出瓶颈,所以,先从日志入手开启慢查询日志mysql>show variables like “%slow%”; 查看慢查询配置,没有则在my.cnf中添加,如下log-slow-queries = /data/mysqldata/slowquery.log #日志目录long_query_time = 1 ... 阅读全文
posted @ 2011-09-05 05:19 之乎者也2011 阅读(25912) 评论(0) 推荐(0) 编辑

摘要: 1. mysql 的一些参数# -e 这个参数是告诉mysql执行"-e" 后面的某个命令,而不连接到server# 此参数在写一些基本的mysql检查和监控的脚本中非常有用mysql -uroot -proot -e'show databases'# --tee 将mysql输入和输出内容记录到文件里。便于大数据量的查询mysql -uroot -proot --tee = /tmp/query.log# --prompt 在mysql提示符中显示登录的主机,用户名,当前的数据库,很有用mysql -uroot -proot --prompt = &quo 阅读全文
posted @ 2011-09-05 05:18 之乎者也2011 阅读(282) 评论(0) 推荐(0) 编辑

摘要: Profiling 分析具体的sql语句消耗MySQL5.0.37版本以上支持了Profiling – 官方手册。此工具可用来查询 SQL 会执行多少时间,System lock和Table lock 花多少时间等等,对定位一条语句的 I/O消耗和CPU消耗 非常重要。从启动profile之后的所有查询包括错误的语句都会记录。关闭会话或者set profiling=0 就关闭了。# 开启 profilingmysql> set profiling=1;mysql> select * from user limit 1;mysql> select cou 阅读全文
posted @ 2011-09-05 05:17 之乎者也2011 阅读(641) 评论(0) 推荐(0) 编辑