Chinaunix首页 | 论坛 | 博客
  • 博客访问: 910339
  • 博文数量: 91
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1051
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(91)

文章存档

2021年(1)

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: Mysql/postgreSQL

2013-08-30 14:19:00

原文地址:mysql 运维常用语句 作者:wizardzj

工作中积累的一些语句
 
慢查询日志
-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
阅读(4513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~