摘要:
阅读全文
posted @ 2011-09-07 07:12
之乎者也2011
随笔分类 - mysql
摘要:主从库同步失效的原因各种各样,一般都是在从库上不小心执行了写操作,也有可能从库服务器意外重启等等。进入从库执行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
摘要:版本: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
摘要:我们知道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
摘要:可以帮助选择更好的索引和写出更优化的查询语句,可以帮助选择更好的索引和写出更优化的查询语句。对某个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
摘要: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
摘要: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
摘要:众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台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
摘要: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
摘要: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
摘要:mysqlslapMysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。常用参数--concurrency #代表并发数量,多个可以用逗号隔开。例如:--concurrency=50,200,500--engines #代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb,memory--iterations #代表要在不同并发环境下,各自运行测试多少次。--auto-generate-sql #代表用mysql..
阅读全文
posted @ 2011-09-05 05:16
摘要:http://www.auu.name/777/index.htmlmysql 热备在运维中需定期备份mysql,为崩溃后的恢复数据做准备。一般分为冷备和热备,冷备就是停掉mysql服务,直接cp文件,但是在生产环境中,很少有机会这样,一般都是在mysql提供服务的时候就进行备份,因此这牵扯到数据一致性的问题。所以,在MyISAM存储引擎下,我们的思路就是:锁表–>备份–>解锁# 进入mysql环境 锁表root@mysql : test > flush tables with read lock;# 在系统环境下 备份cp -R test /tmp/backup/test_
阅读全文
posted @ 2011-09-05 05:15
|