环境:阿里云ECS服务器上,Ubuntu linux 12.04,64位版。MySQL 5.1.

首先查看/etc/rc.local,可以看到Ubuntu通过/etc/init.d/mysqld脚本启动mysql服务:

/etc/mysqld start

这个脚本是安装时从/alidata/server/mysql/目录(mysql安装目录)拷贝过来的,没问题。

但是在执行这个脚本时,会调用/alidata/server/mysql/bin/my_print_defaults,

将输出内容交给脚本函数parse_serverarguments()解析,

得到$basedir, $bindir, $datadir这几个启动目录。

问题就出在执行my_print_defaults上。



通过执行/alidata/server/mysql/bin/my_print_defaults --help,可以看到它从以下几个目录读mysql配置:

  1. /etc/my.cnf   
  2. /etc/mysql/my.cnf   
  3. /alidata/server/mysql/etc/my.cnf   
  4. ~/.my.cnf

后面两个路径不存在,所以只会读取前两个文件的内容。
/etc/my.cnf是安装时从/alidata目录拷过来的,没有问题。 
/etc/mysql/my.cnf却是ubuntu缺省存在的,一读,就把前面的覆盖了。

所以删除/etc/mysql目录,执行/etc/init.d/mysqld restart,就OK了。

[后记]

晚上时候,同事报MySQL又启动不了。错误日志:

/alidata/server/mysql/libexec/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)  

网上搜到文章说”Errorcode:13“是目录权限问题而这个文件是存在的!mysql用户也有读写权限。

尝试给/var/log/mysql目录权限从0755改成0775,给mysql用户组也加了写权限,现在的权限是:

drwxrwxr-x 2 mysql mysql 4096 Oct 16 23:00 mysql/

继续启动MySQL,失败,但错误日志已经从刚才的变成了这个(说明mysql组也需要写权限,难道启动mysql需要其他mysql组用户?):

/alidata/server/mysql/libexec/mysqld: File './mysql-bin.000032' not found (Errcode: 2)

继续搜,在这里找到了方法,编辑/var/log/mysql/mysql-bin.index,删除其中的一行内容:

mysql-bin.000032

再次启动MySQL,成功。

阿里云服务器重启后mysql不能启动的问题的更多相关文章

  1. 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法

    在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...

  2. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  3. jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制

    问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2:   刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...

  4. 使用Navicat连接阿里云服务器上的MySQL数据库=======Linux 开放 /etc/hosts.allow

    使用Navicat连接阿里云服务器上的MySQL数据库   1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接 ...

  5. 阿里云服务器+Tomcat项目+mysql 发布项目全过程

    这个博客管理系统折腾我好几天了. 总结一下整个过程吧! 1.首先这个博客在tomcat下 windows系统可以完全跑起来了,无论是前台或者后台都能实现所有的功能. 2.然后我买了一个域名jasonj ...

  6. 阿里云服务器及部署mysql

    可通过百度获取内容不再赘述. 远程连接: 远程连接阿里云服务器需在服务器上开放443端口,方法自行百度 win10通过系统自带远程连接服务连接时需安装凭据:   http://blog.csdn.ne ...

  7. 使用Navicat连接阿里云服务器中的Mysql数据库

    1.首先将阿里云服务器中的安全组添加上Mysql的端口3306,如下图所示: 步骤就是进入到阿里云的官网,点击右上角控制台,在左边选择云服务器ECS--->实例 点击图中的管理按钮,然后选择本实 ...

  8. 使用Navicat连接阿里云服务器上的MySQL数据库--转

    手把手教你如何正确连接阿里云服务器上的数据库: 1.首先打开Navicat,文件>新建连接>MySQL连接,其他的如一图所示. 2.因为是连接服务器上的MySQL,所以我们使用SSH连接, ...

  9. 阿里云服务器 CentOS 安装Mysql 5.6

    下载:https://dev.mysql.com/downloads/file/?id=471181   第一步: 安装mysql5姿势是要先安装带有可用的mysql5系列社区版资源的rpm包 [ro ...

随机推荐

  1. 分布式系统状态下redis存储asp.net session使用第三方Providers驱动

    https://github.com/ServiceStack/ServiceStack.Redis (redis客户端组件) 注:redis服务端在windows不太稳定,一般部署在Linux下. ...

  2. [AngularJS] Enable Animations Explicitly For A Performance Boost In AngularJS

    http://www.bennadel.com/blog/2935-enable-animations-explicitly-for-a-performance-boost-in-angularjs. ...

  3. ActiveNotifications

    The NotificationManager can tell you how many notifications your application is currently showing. T ...

  4. maven 启动忽略test

    两种方法 1,--命令 mvn install -Dmaven.test.skip=true 2.pom.xml 文件 在tomcat 下面的pom.xml 文件里面加上如下 <!--  ski ...

  5. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  6. 5JS树形结构菜单和jQuery版

    第一版JS版HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  7. 从一个SVN下载的导入另一个SVN里面

    如果项目是你从个一个SVN下载的,你想存入另一个SVN里面 那么问题来了 你用eclipse的team的时候会发现没有Team share 这个选项,那么就等于是没有上传的选项了 解决办法,把项目删掉 ...

  8. My.Ioc 代码示例——注册项的注销和更新

    当您需要从 Ioc 容器中注销/删除一个注册项的时候,您会怎么做呢? 有人曾经在 stackoverflow 上提问“如何从 Unity 中注销一个注册项”.对于这个问题,有人的回答是“有趣.你为什么 ...

  9. ExecuteScalar 要求已打开且可用的 Connection。连接的当前状态为已关闭。

    本人遇到的一个小问题,希望能帮助大家 出现这个问题就是在此操作之前已经被的程序关闭了连接,比如在执行这块代码之前不幸执行了存储过程..,就会导致这个问题发生

  10. c#使用Microsoft Excel 12.0 object Libary导出的Excel文件office2003不能打开!!~~(分享)

    -----转载:http://hi.baidu.com/zhang_zhu_1/item/f3d47d1f86bf037a70d5e87e 使用C#导出数据到Excel文件时,Excel 2007组件 ...