zoukankan      html  css  js  c++  java
  • sql问题处理

    批量杀死MySQL连接

    select concat('KILL ',id,';') from information_schema.processlist where Info like 'select%' into outfile '/tmp/a.txt'; 
    select concat('KILL ',id,';') from information_schema.processlist where Info like 'select%'; 
    source /tmp/a.txt;

    http://www.jb51.net/article/65718.htm

    切换atlas 从库

    mysql -uxxx -pxxx -h127.0.0.1 -P2345
    mysql> select * from help;
    mysql> select * from backends;

    Change Tables

    update tablename set 'key'='value' where username='';

    MySql ab

    change master to master_host="192.168.xxx",master_port=3306,master_user="rep",master_password="123456",master_log_file="mysql-bin.000003",master_log_pos=619;
    change master to master_host="192.168.xxx",master_user="root",master_password="xxxx",master_log_file="mysql-bin.000001",master_log_pos=107;
    set global rpl_semi_sync_slave_enabled=1
    mysqldump -uroot -pxxxx --host=192.168.xxx --databases abc --master-data=2 > abc.sql
    mysqldump -uroot -pxxxx--host=192.168.xxx --all-databases --master-data=1 > 20161130.sql

    MySql跳过slave 错误

    stop slave;
    set global sql_slave_skip_counter =1 ;
    start slave;

    查询mysql引擎

    看你的mysql现在已提供什么存储引擎:
    mysql> show engines;

    看你的mysql当前默认的存储引擎:
    mysql> show variables like '%storage_engine%';

    你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
    mysql> show create table 表名;

    清理binlog 方法

    1、进入从服务器mysql控制台 show slave statusG; 检查从服务器正在读取哪个日志,有多个从服务器,选择时间最早的一个做为目标日志。 
    2、进入主服务器mysql控制台 show binary logs; #获得主服务器上的一系列日志 
    PURGE MASTER LOGS TO 'binlog.000058'; 删除binlog.000005之前的,不包括binlog.000058 
    PURGE MASTER LOGS BEFORE '2016-06-22 13:00:00'; #清除2016-06-22 13:00:00前binlog日志 
    PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); #清除3天前binlog日志

    mysql主从快速恢复方法

    主库备份:

    #mysqldump -uroot -p --all-databases --master-data=1 > 20180224wdb.sql

    #mysql -uroot -pxxx -e "show databases;"| grep -Ev "Database|information_schema|performance_schema|mysql" |xargs 

    mysqldump -uroot -pxxx  -B accesslog census jxxx2013 aaaa -F -R --master-data=1 --events > 20180225wdb.sql

    从库备份:

    mysqldump -uroot -pxxx  -B accesslog census jxxx2013 aaaa > rdb2_20180301.sql

    在从库上恢复备份数据,恢复主从同步

    #将主库备份拷贝至从库

    #在做同步之前要确保数据已经处理或者修复完成

    #恢复数据前确保主从slave进程已经停止

    nohup mysql -uroot -pxxx < 20180225wdb.sql &

    #恢复完成后再start slave

    ---------------------------------------------------------------

    https://www.linuxidc.com/Linux/2016-07/133529.htm  参考文档

    mysqlcheck -c mysql -uroot -pxxx表状态检测

    --master-data[=#]      在备份导出的文件里追加二进制binlog文件的位置和名称 

                            如果值等于1,就会添加一个CHANGE MASTER语句 

                            如果值等于2,就会在CHANGE MASTER语句前添加注释(不起作用了呗~) 

                            这个参数会--lock-all-tables锁表,除非你指定了--single-transaction 

                            这种情况下,锁表只会在dump开始的时候持续一小段时间,照理说 

                            在dump的时候,任何动作都会影响到binlog文件 

                            dump结束之后,选项会自动关闭锁表功能

    --routines, -R导出存储过程以及自定义函数。

    --flush-logs, -F请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。

    除使用--lock-all-tables或者--master-data外。

    在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。

    --events, -E导出事件。

    mysqldump命令详解

    https://www.cnblogs.com/liuriqi/p/4207310.html

  • 相关阅读:
    hdu 刷题记录
    HDU step by step
    Codeforces Round #260 (Div. 2) B. Fedya and Maths
    Codeforces Round #260 (Div. 2) A. Laptops
    UVALive 6662 TheLastAnt
    UVALive 6661 Equal Sum Sets
    Codeforces Round #253 (Div. 2) A. Anton and Letters
    wikioi 3130 CYD刷题(背包)
    wikioi 1014 装箱问题(背包)
    [转]很特别的一个动态规划入门教程
  • 原文地址:https://www.cnblogs.com/ddif/p/9049438.html
Copyright © 2011-2022 走看看