Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1441488
  • 博文数量: 77
  • 博客积分: 2104
  • 博客等级: 大尉
  • 技术积分: 2322
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 13:21
个人简介

关注于系统高可用、网站架构

文章分类

全部博文(77)

文章存档

2018年(1)

2017年(1)

2015年(4)

2014年(8)

2013年(4)

2012年(12)

2011年(17)

2010年(30)

分类: Mysql/postgreSQL

2010-11-02 13:57:36

工作中积累的一些语句
 
慢查询日志
-s,是order的顺序  t 时间
mysqldumpslow -s t slow.log>slow.taime.log
mysqldumpslow -s c slow.log>slow.count.log
 
查看存储过程信息
show procedure status
        显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
show create procedure sp_name
        显示某一个存储过程的详细信息
       
备份sp
mysqldump -uroot -ppassword "--where=db='configdb2cem2'" --no-create-info mysql proc >proc.sql
数据库迁移
 
 mysqldump -uroot -ppassword wp_training | mysql -h 10.0.0.41 -uroot -ppassword wp_training
 
数据库复制
 GRANT all  ON *.* TO IDENTIFIED BY 'slavepass';
 stop slave;
     CHANGE MASTER TO
         MASTER_HOST='192.168.1.51',
         MASTER_USER='repl',
         MASTER_PASSWORD='slavepass',
         MASTER_LOG_FILE='mysql-bin.000119',
         MASTER_LOG_POS=333776004;
     START SLAVE;
       
 
 ----------
复制错误
slave stop;
忽略行数
set global SQL_SLAVE_SKIP_COUNTER = 1062;
忽略错误
--slave-skip-errors=name
 mysqld --help --verbose|grep skip
 
 mysql复制的时候遇到错误就停在哪里, 需要手工去出错, 例如这个错误:
1062 | Error 'Duplicate entry 'adfadfadf' for key 1' on query. Default database: 'xx_db'. Query: 'INSERT INTO ...
假如只是一两条错误, 机器也很少, 哪倒是无所谓, 用下面的方法就可以了.
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql>slave start;
当你有很多繁忙的数据库, 维护总是让你很忙的时候. 假如在数据要求不是那么高的时候, 也有一个方法让你没有烦恼, 在slave的my.cnf里面写入.
slave-skip-errors = 1062
 -------------------------------------------------------------
 定期清除mysql bin log 
 查看/etc/mysql/my.cnf ,发现
expire-logs-days  = 20
把expire-logs-days 设成3,然后在mysql命令行执行
PURGE MASTER LOGS TO 'mysql-bin.000930';
即可删除930之前的binlog

用这个语句可以清除3天前的binlog,
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
所以另外还有个方法定期删除binlog:
在contab设置:
0 1 * * *  `mysql -uroot -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);'`
--------------------
查看mysql日志
mysqlbinlog mysql-bin.000008
mysqlbinlog查看position(检查复制问题用到)
 mysqlbinlog --start-position=753871857 mysql-bin.000008
 
 --stop-position
阅读(3352) | 评论(2) | 转发(1) |
0

上一篇:linux 基础环境配置

下一篇:mysql 日常检查

给主人留下些什么吧!~~

chinaunix网友2010-11-02 17:25:46

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com

chinaunix网友2010-11-02 17:25:46

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com