博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 日常整理
阅读量:6092 次
发布时间:2019-06-20

本文共 1199 字,大约阅读时间需要 3 分钟。

 记录工作的点点滴滴:

    今天遇到case 1:

    在测试机上,start slave 出现“假死”现象,数据库能够连接,

    show processlist;显示:队列等待master

    从错误日志里面看到:

120831 16:20:59 [ERROR] /usr/local/mysql3307/libexec/mysqld: Disk is full writing './mysqld-relay-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)120831 16:20:59 [ERROR] /usr/local/mysql3307/libexec/mysqld: Retry in 60 secs. Message reprinted in 600 secs

    日志里面显示没有了磁盘空间,哎,这个着实不能让人接受。

    清理了磁盘,set  global SQL_SLAVE_SKIP_COUNTER=1;start slave;

    (SQL_SLAVE_SKIP_COUNTER 复制线程起来之后,该变量的值变为无)

   case 2:

   今天有人问了我一个问题,在主从复制模式下,master采用innodb,slave 采用myisam(这个是可以实现的,因为在binlog里面 是不传递engine=?这个参数的),当程序里面启用事物的时候,如果出现回滚,那么采用myisam 引擎的slave会不会造成和master数据的不一致。

    首先肯定的是,这个不会造成数据的不一致。

    其次:由于myisam不支持事务,对不支持事务的表执行start/commit 操作没有任何效果,在执行commit前已经提交,且不会报错。

    最后,在binlog里面如果发生rollback 语句的话,事务会执行反操作,清除库里面的数据,binlog里面响应的dml语句会响应的被清除,也不会有rollback语句的记录。所有master和slave上数据还是一致的。

    case 3:

    从其他数据表或者查询结果创建数据表

    create table ... like 语句将创建一个和原表一模一样的表,并且列的属性页会保持。 但是这个语句不能只利用其中原表的某列进行进行表的创建

     create table ... select 会根据select 语句的查询结构创建新的数据表,默认情况下,不会复制原来列的属性。但是可以根据原表的某列进行表的创建

 

本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/978741,如需转载请自行联系原作者

你可能感兴趣的文章
修改字符集
查看>>
HackTheGame 攻略 - 第四关
查看>>
js删除数组元素
查看>>
带空格文件名的处理(find xargs grep ..etc)
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
需要学的东西
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>