分类:数据库

mysqldump: Got error: 1168: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn’t exist when using LOCK TABLES

用mysqldump命令备份数据库报如下错误 mysqldump: Got error: 1168: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn’t exist when using LOCK TABLES 解决办法: 备份添加–single-transaction参数 # mysqldump -uroot -p –single-transac…

阅读全文 »

如何修复损坏的MySQL数据表

断电或非正常关机而导致MySQL数据库表出现错误是非常常见的问题。有两种方法,一种方法使用mysql的check table和repair table的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便,推荐使用。 1. check table 和 repair table 登陆mysql 终端: mysql -uxxxxx -p dbname mysql> check table tabTest; 如果出现的结果说S…

阅读全文 »

mysql 复制状态参数Seconds_Behind_Master

MySQL 本身通过 show slave status 提供了 Seconds_Behind_Master ,用于衡量主备之间的复制延迟,但是 今天碰到了一个场景,发现 Seconds_Behind_Master 为 0 , 备库的 show slave status 显示 IO/SQL 线程都是正常的 , MySQL 的主库上的变更却长时间无法同步到备库上。如果没有人为干预,直到一个小时以后, MySQL 才会自动重连主库,继续复制主库的变更。 影响范围: MySQL , Percona ,…

阅读全文 »

mysqldump –master-data 参数

master-data参数在建立slave数据库的时候会经常用到,因为这是一个比较好用的参数,默认值为1,默认情况下,会包含change master to,这个语句包含file和position的记录始位置。master-data=2的时候,在mysqldump出来的文件包含CHANGE MASTER TO这个语句,处于被注释状态。 # mysqldump -uroot test –single-transaction –master-data=2 >master-data.sql …

阅读全文 »

mysql 参数 sql_log_bin

sql_log_bin是mysql session的一个变量,查看语句: mysql> select @@session.sql_log_bin; +———————–+ | @@session.sql_log_bin | +———————–+ | 1 | +———————–+ 1 row in set (0.00 sec) 可以看出sql_log_bin的值是1|0, 当sql_log_bin的值为0…

阅读全文 »

mysqlbinlog: unknown variable ‘default-character-set=utf8’

使用mysqlbinlog查看二进制日志出现以下错误: mysqlbinlog: unknown variable ‘default-character-set=utf8’ 产生这个问题的原因是因为我在my.cnf中的client选项组中添加了 [client] default-character-set = utf8 解决办法有两种: 第一种是使用:–no-defaults 参数 mysqlbinlog –no-defaults mysql-bin.000001 另一种方法:使用…

阅读全文 »

mysqldumpslow 分析慢查询日志

/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log 这会输出记录次数最多的10条SQL语句,其中: -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙; -t, 是top n的意思,即为返回前面多少条的数据; -g, 后边可以写一个正则匹配模式,大小写不敏感的; 比如: /path/mysqldumpslow -s r -t 10 /databas…

阅读全文 »

MySQL show processlist 命令详解

SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果您不使用FULL关键词,则只显示每个查询的前100个字符。 本语句报告TCP/IP连接的主机名称(采用host_name:client_port格式),以方便地判定哪个客户端正在做什么。 如果您得到“too many connections”错误…

阅读全文 »

Redis 启动报警解决办法

redis 安装好启动后,报警如下: # Server started, Redis version 3.0.7 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the com…

阅读全文 »

MySQL Cluser 配置参数详细说明

在MySQL Cluster环境的配置文件config.ini里面,每一类节点都有两个(或以上)的相应配置项组,每一类节点的配置项都主要由两部分组成,一部分是 同类所有节点相同的配置项组,在[NDB_MGM DEFAULT]、[NDBD DEFAULT]和[MySQLD DEFAULT]这三个配置组里面,而且每一个配置组只出现一次;而另外一部分则是针对每一个节点独有配置内容的配置项组 [NDB_MGM]、[NDBD]和[MySQLD],由于这三类配置组中配置的每一个节点独有的个性化配置,所以每一…

阅读全文 »