Homebrew 安装的 MySQL 在 EI Capitan 上无法启动

用 Homebrew 安装的 MySQL 5.7.12 莫名其妙就挂掉了,翻看系统日志,看到一堆这样的提示:

Jun 2 20:08:49 zrong-mbp com.apple.xpc.launchd[1] (homebrew.mxcl.mysql) : Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

这样的提示每10秒一次,从中午一直到现在。 继续阅读Homebrew 安装的 MySQL 在 EI Capitan 上无法启动

小内存服务器MySQL出现Out of memory错误

2012-12-16更新:这方法貌似没有什么用,MySQL依然一天挂掉3次,给服务器加上swap文件试试。


使用阿里云服务器的第二天,我就收到阿里云的提醒短信,说网站挂掉了。

上网站一看,提示数据库连接错误,重启MySQL了事。

没想到11点钟的时候MySQL再次挂掉了,上服务器一看,原来是MySQL进程被Kill了,原因是 Out of memory

Dec 14 11:38:02 aliyun kernel: [69756.532361] Out of memory: Kill process 11168 (mysqld) score 114 or sacrifice child
Dec 14 11:38:02 aliyun kernel: [69756.532430] Killed process 11168 (mysqld) total-vm:821140kB, anon-rss:57004kB, file-rss:0kB

我的服务器内存只有512MB,而且没有配置SWAP分区,看来是MySQL占用的太多内存。找到 /etc/mysql/my.cnv 配置进行修改(注意备份):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
thread_cache_size = 4
sort_buffer = 64K
net_buffer_length = 2K
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10

同时也修改Apache的配置

Timeout 45
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          30
    MaxRequestsPerChild   2000
</IfModule>

重启Apache 和 MySQL

service apache2 restart
service mysql restart

参考资料:

2008动态网站快速架设与开发培训班录屏文件发布

2008年7月23日9:53:35更新:添加第一期班所有录屏文件
2008年7月24日9:25:10更新:添加第二期班部分录屏文件
2008年7月25日23:54:03更新:添加第二期所有录屏文件和源程序

经过培训内容调查和在线报名,2008动态网站快速架设与开发培训班已经火热开班!目前第一期班已经结束,第二期班正在进行中。 进行了二期培训并圆满结束。为了方便参加培训的学员进行复习,也方便没有来参加培训的老师能学到对自己有用的东西,现将培训过程的录屏文件予以发布。录屏文件包括教师授课过程中的电脑屏幕上所有的操作和教师的同步语音,希望对大家有帮助。

注意:两期培训的内容是基本相同的,只是根据学员的接收程度,第二期进行了少许调整。建议大家下载第二期的录屏文件,同时,第一期班的第一天(7月14日)由于设备没有准备好,没有进行录屏。
如果有不能下载的,请留言或者E-mail联系我:
E-mail

继续阅读2008动态网站快速架设与开发培训班录屏文件发布

解决使用DOCMAN下载的文件不全的问题

一直有网友反映在多媒体空间上下载的文件不全而导致无法解压缩。由于我无法重现错误,就以为是网友的个别现象。但是自从发布了Flash 8 教学辅助软件制作培训班所有相关资源下载后,有许多老师反映下载的录屏文件无法解压。我自己实验了一下,也确实有这样的问题。

问题主要表现在文件总是下载到4MB就停了,不论是使用IE直接下载还是使用迅雷等下载工具,下载下来的文件都不完整,导致无法解压。但是,直接引用文件名称下载,则没有这个问题。 继续阅读解决使用DOCMAN下载的文件不全的问题

自动修改DOCMAN上传的文件名称

DOCMANMambo/Joomla!的插件,我认为它是最好的下载插件。此插件的效果可以看这里

但是,从我升级到Joomla1.0.8(DOCMAN版本1.3RC2)以来,如果上传的文件名包含中文,那么上传到服务器的文件就会变成乱码。但是,这个文件名在DOCMAN的管理界面中却显示正常。

这个问题的原因,是因为我使用了UTF-8编码,因此,我需要修改DOCMAN,让它自动更改我上传的文件名。

找到DOCMAN_file.class.php文件中的_upload函数定义(大约在381行),修改它为如下所示: 继续阅读自动修改DOCMAN上传的文件名称

几个常用的WAMP套件

WAMP,就是:Windows、Apache、MySQL和PHP,用于快速在Windows系统上搭建PHP开发和运行平台。
当然,也有LAMP(Linux、Apache、MySQL和PHP)。

  • XAMPP推荐!
    有for Linux、Windows、Mac OS X、Solaris等操作系统版本,还有一个Lite版本
    最新版本1.5.2,包括Apache HTTPD 2.2.0, MySQL 5.0.20, PHP 5.1.2 + 4.4.2-pl1 + PEAR + Switch, MiniPerl 5.8.7, Openssl 0.9.8a, PHPMyAdmin 2.8.0.3, XAMPP Control Panel 2.2, eAccelerator 0.9.4-rc1, Webalizer 2.01-10, Mercury Mail Transport System for Win32 and NetWare Systems v4.01a, FileZilla FTP Server 0.9.14a, SQLite 2.8.15, ADODB 4.80, Zend Optimizer 3.0.0, XAMPP Security
    Lite版本包括Apache 2.2.0 + PHP 5.1.2 (without PEAR) + MySQL 5.0.20 + phpMyAdmin 2.8.0.3 + Openssl 0.9.8 + SQLite 2.8.15 + eAccelerator 0.9.4 rc1
  • PHPnow(国产!)推荐!
    Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包。
    简易安装、快速搭建支持虚拟主机的 PHP 环境。附带 PnCp.cmd 控制面板,帮助你快速配置你的套件,使用非常方便。
    PHPnow 是绿色的,解压后执行 Setup.cmd 初始化,即可得到一个 PHP + MySQL 环境。
    然后就可以直接安装 Discuz!, PHPWind, DeDe, WordPress 等程序。
    * 支持虚拟主机:便捷的虚拟主机管理
    * 虚拟主机代理:可与 IIS 共存 (泛解析代理)
    * 插件支持:ASP | ASP.NET | JSP
    喜欢自己配置 PHP 环境?
    PHPnow 仅使用了 DOS 命令脚本 和 PHP 程序,完全可以自己修改,打造自己的套件!
    手动配置 PHP 还是有必要掌握的,PHPnow 只是为你减少重复的动作。
  • EasyPHP
    当前最新版本1.8,包含Apache1.33、PHP4.3.10、Mysql4.1.9和PHPmyAdmin2.6.1
  • Uniform Server(miniServer)
    最新版本3.3,包括Apache2, Perl5, PHP5, MySQL5,可以以插件方式支持PHP4
  • AppServ
    最新版本2.4.5,包括Apache 1.3.34、PHP 4.4.1、MySQL 5.0.16、phpMyAdmin-2.5.7-pl1

2009年3月3日11:23:48更新

mysql启动 1067错误

我的MySQL本来安装在“G:\sites\mysql”路径下。今天突发奇想,将原来的sites文件夹改名为Inetpub,那么MySQL的安装路径也就改为”“G:\Inetpub\mysql”了。这样,MySQL服务当然无法成功启动,于是开始下面的漫漫征程:

1.来到我们可爱的Dos窗口,运行“G:\Inetpub\mysql\bin\mysqld-nt -remove”,卸载MySQL服务

2.接着运行“G:\Inetpub\mysql\bin\mysqld-nt -install MySQL –defaults-file=”G:\Inetpub\mysql\my.ini”重新安装MySQL服务,并指定当前的ini文件为MySQL安装目录下的my.ini

3.本来以为大功告成,继续执行“net start MySQL”,结果出现“错误1067:进程意外中止”。这个错误可是伴随了我好长时间了,每次安装MySQL都可能碰到,但是不知怎么重装一次就又好了。所以碰到它我并不感到特别奇怪。

4.去“C:\winnt”看看,找到一个名为“my.ini”的文件,删掉它,再次启动MySQL服务。错误依然故我……我晕!!!

5.检查“G:\Inetpub\mysql\my.ini”,看到这样红色的两句,修改basedir和datadir的值,将其改成相应的目录(我已经将其修改为正确的目录)。再次启动MySQL服务(心里面那个紧张呀……),在等待了N<2秒之后,错误继续出现。我的心凉了。

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306

#Path to installation directory. All paths are usually resolved relative to this.
basedir="G:/Inetpub/mysql/"

#Path to the database root
datadir="G:/Inetpub/mysql/Data/"

6.使出最后一招,重装MySQL!!!我依然选择安装到“G:\inetpub\mysql”目录。当然,保留了原来的“Data”目录,其它的一律删除。

7.安装完后,一切试用默认设置,可是MySQL依然无法启动!错误还是1067!!!!这个顽固的错误,怎么会这样!!!

8.查找注册表,删除所有与MySQL有关的键值。我就不信了!每操作一次,我就重启一次Windows!

9.第三次安装MySQL,错误还是错误,并没有因为我的努力而消失。

10.我开始烦躁,开始Google,那么多帖子,说的方法都无法解决我的问题。不过倒是给我一点启示,就是在my.ini上做文章。我复制了多份my.ini,分别放在安装目录、Winnt目录、C:\,我还把mysql的安装目录复制到了C:\,可是仍然无济于事。

11.最后一遍安装。我没有更改任何设置,包括安装路径都采用默认的(我极其讨厌MySQL4.1的默认安装路径)。可是,这次,MySQL启动成功了!

12.我欣喜若狂,我检查了My.ini的值,basedir的值是安装目录,datadir的值是安装目录下的data目录。我立刻卸载了MySQL,再次安装,安装目录为“G:\inetpub\mysql”。这次启动不成功。这并没有让我沮丧,我好像找到了问题的根源。

13.再次卸载,再次安装,安装目录为默认。启动成功后,将my.ini中的datadir的值更改为“G:/inetpub/mysql/data/”,重新启动MySQL,不成功!!!这说明,MySQL的启动失败的原因是数据库或者数据库路径问题!数据库路径当然是没有问题的,所以我怀疑数据库。

14.进入到data目录中,发现data目录下有许多文件,删除根目录下的所有文件,仅保留子文件夹(每个文件夹就是一个数据库,这个当然是不能删除的),然后启动MySQL服务。终于成功了。

15.google上找到的相关资源迷惑了我的眼睛。我在My.ini上耗费了太多的时间,却没有注意数据库的问题。也许是上一个版本留下了太多与路径相关的数据导致MySQL启动失败?可能。无论如何,我已经解决了这个该死的1067错误了。


以下为网友评论

Jeff(210.72.237.66)在 2005年9月20日18:05星期二 评论: [删除] [回复]
非常感谢你的经验,否则我还不知道怎么解决!
另外再补充一下我的发现:
我的数据库中有InnoDB类型的表,所以不能将/mysql/data/ibdata1文件删除,否则数据库中InnoDB类型的表都不能访问,所以需要保留。其它文件删除。