发布时间:2012-12-25 17:10:22
考虑到在本机上备份数据,一旦该机器硬盘出现故障,数据无法取出。远程手动备份数据费时费力且不及时。最好的方法就是通过脚本实现远程自动互备。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用rsync,scp,rexec等命令来做的远程备份了。1. 设置无需密码的ssh登陆,方法如下:假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:1)在A机上生成钥匙对,执行以下命令:ssh-keygen -t rsaGenerating public/private rsa ......【阅读全文】
发布时间:2012-12-18 15:30:19
原文:MySQL小技巧问答(一)1. 在基于ROW的双Master复制下,如何快速大批量订正? 在A<->B的双Master结构下,假设只有一台提供服务,这是我们常用的架构,需要大批量订正数据,如何做最快?用存储过程一批批提交?这有很多的限制,有时候并不可以把一条或多条SQL拆成几段,怎么办呢?binlog不是很好的工具嘛?! ROW格式的binlog,Slave在应用时是直接使用Handler API,并没有走SQL解析,速度非常快,基本上是IO操作了,那么我们可以在备库上直接执行订正SQL,产生的ROW binlog传到主机,就会很快订正完,基本上都比写存储过程快。 2. ......【阅读全文】
发布时间:2012-12-18 15:18:25
MySQL动态hash结构 1.常用的实现方式 前一段时间一直在研究mysql中的hash结构,大概搞清楚了这种no empty slot的hash结构,读了几篇关于mysql中的hash结构文章,发现很多文章对于这种动态hash的关键点解释不够清楚,特此把这些天看mysql中hash的这段代码的体会写一下。 mysql中的hash结构不同于一般的那种用链表解决冲突的hash结构,链表解决冲突的hash结构用在memcached,jdk中,最常见的hash结构如下图: ......【阅读全文】
发布时间:2012-12-17 22:04:15
目的 MySQL源码中,LF_DYNARRAY数据结构是应用于LF_PINS和LF_HASH数据结构的一种特殊数据结构。该结构不同于DYNAMIC_ARRAY动态数组结构物理分配和逻辑操作,而是一种层级分配管理方式进行组织,对于稀疏、非连续的数组存储可以有效的提高空间利用率。 数据结构 LF_DYNARRAY相关的数据结构定义在mysql源码的include/lf.h和mysys/lf_dynarray.c文件中,具体定义如下所示......【阅读全文】
发布时间:2012-12-14 16:35:43
1、选择数据表语句如下:use mysql;2、在mysql的user表中增加连接用户帐号:这里不要直接使用INSERT语句添加user记录,使用INSERT可能出现:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误。不过早期的MYSQL版本笔者倒没出现这个错误,因为天缘一直都是直接修改user表或直接使用INSERT语句完成,后来升级 MYSQL到5.1的时候,发现可能会出现这个错误。建议使用GRANT语句进行授权,语句如下:GRANT USAGE ON *.* TO 'username'@'local......【阅读全文】