问题原因

今天发现MySQL数据库中没有写入新数据,于是看了下Rails后端的日志,发现报了一个Error: Mysql2::Error: Got error 28 from storage engine: SHOW FULL FIELDS FROM plays错误。网上搜了一通说是空间不足造成的。

使用 df -h 命令,结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@windstill:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/windstill-root
                       28G   28G    0G   0% /
none                   16G  220K   16G   1% /dev
none                   16G     0   16G   0% /dev/shm
none                   16G   52K   16G   1% /var/run
none                   16G     0   16G   0% /var/lock
/dev/mapper/windstill-data_backup
                       28G   16G   11G  59% /data_backup
/dev/mapper/windstill-mysql
                       65G   15G   47G  24% /mysql
/dev/mapper/windstill-opt
                       28G   15G   12G  55% /opt
/dev/mapper/windstill-redis
                       28G   17G  9.8G  63% /redis
/dev/mapper/windstill-prod
                       28G   13G   14G  50% /prod
/dev/mapper/windstill-mongodb
                       65G   50G   12G  82% /mongodb
                       

可以看出 /mysql 空间还是很足的,还有47G空间可用,那是什么原因呢。随着深入了解,原来MySQL查询的时候会生成一些临时的表,在默认的配置里,这些表会被创建在 / 挂载点(目录)中。再结合上述结果中,我的 / 已经没有可用空间了,那这就是问题所在了。

自从 10.7 Lion 升级到新系统10.9 Mavericks 后,一些小问题也就跟着来了。听说苹果是从 10.8 Mountain Lion (这个版本系统我没装过)系统开始启用了新的安全机制,默认只信任 App Store 下载的软件和拥有开发者 ID 签名的应用程序。也就是说新系统默认只能安装正规渠道(App Store 或被认可的开发人员)的软件,否则安装的时候就会弹出下图所示警告框:打不开“xxx”,因为它来自身份不明的开发者,如下图所示:

这个问题解决方法就是到 系统偏好设置 里设置一下就行了,步骤如下:

今天发现我们测试环境的服务器时间不对,居然超前了。然后谷歌了下linux系统相的关时间查看与设置。Linux时钟分为 系统时钟(System Clock)和 硬件时钟(Real Time Clock,简称RTC)。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

Linux中的所有命令都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有datehwclockclock。其中,clockhwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。看了下我们的测试环境止只有hwclock可用,clock没有安装。

1. date

  • 查看系统时间
1
# date
  • 设置系统时间
1
# date --set "01/02/14 10:19:20" (月/日/年 时:分:秒)

2. hwclock/clock

  • 查看硬件时间
1
2
3
# hwclock --show
或者
# clock --show

今天下午把Mac系统从Lion直接升级到了Mavericks,增加了不少新的功能和体验,具体参考官方说明 OS X Mavericks的全新功能。这次升级基本保持了原有的数据和配置,但是个别应用会因为系统升级瘦到影响,比如这次所说的MacVim应用。

问题及解决

升级完系统后,终端输入mvim .会出现以下错误信息:

1
2
3
4
dyld: Library not loaded: /System/Library/Perl/lib/5.10/libperl.dylib
Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
Reason: image not found
Trace/BPT trap: 5

原因是Mac X Mavericks 只有5.12 、5.16 已经没有了5.10。解决办法就是下载最新的Mavericks版本的MacVim MacVim-snapshot-72-Mavericks.tbz

1 相关介绍

Octopress

Octopress是利用Jekyll博客引擎开发的一个博客系统,生成的静态页面能够很好的在github page上展现。如果用Jekyll写博客的话,得要自己写HTML模板、CSS、Javascript,并且要自己做配置。但是如果用Octopress,这些都帮你做好了,只要clone or fork Octopress,安装些依赖的库和主题就行了。

Github pages

GitHub是全球最大的社交编程及代码托管网站,GitHub可以托管、分享各种代码库或项目,并提供一个web界面。

Github Pages就是为你或你的项目提供一个静态的网站。原理就是把你的一个特殊的repository (yourname.github.io),或者某个repository特殊分支(gh-pages)的静态文件以网页形式展现出来,前者一般作为个人主页,后面一般作为项目的主页,这两种情况后面会说到。

这种方案优势:1.搭建、发布简单;2.免费、无限流量,3.绑定自己域名