> 数据库 > MySQL >

mysql启动不了,以及解决办法

我想把我电脑里面的二个不同版本的mysql同时启动,但是没有成功,还导致其中一个mysql启动不了,郁闷。我用二种方式启动都不行

一,问题如下

1,[root@BlackGhost data]# /usr/local/mysql/bin/mysqld_safe --user=root --skip-grant-tables

提示如下:

 

100910 22:31:44 mysqld_safe Logging to '/usr/local/mysql/master-error.log'.
100910 22:31:44 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
100910 22:31:44 mysqld_safe mysqld from pid file /usr/local/mysql/mysql.pid ended

2,[root@BlackGhost mysql]# /usr/local/mysql/share/mysql/mysql.server  start

提示含有以下东西

Starting MySQL.Manager of pid-file quit without updating file.[FAILED]

后来我发现,出现这个东西的原因,我把/mysql安装目录/libexec下面的mysqld给覆盖掉了,我以为mysql里面的mysqld都是差不多的东西,没想到libexec下面的mysqld不一样,差别大了

  1. [root@BlackGhost bin]# du -sh mysqld  
  2. 12K    mysqld  
  3. [root@BlackGhost bin]# du -sh ../libexec/mysqld  
  4. 6.1M    ../libexec/mysqld  

在libexec下面还有一个文件是mysqlmanager,我想在这里的mysqld也是管理的什么东西,我也不太确定libexec下面的mysqld是干什么用的,有谁知道可否告诉我一下,谢谢了。

12k的这个mysqld,就是一个启动,停止等控制的脚本,可以用vi打开,但是libexec下面的mysqld用vi打不开的,打开乱码。

二,解决办法

1,因为我有二个不同版本的mysql,所以把另一个libexec下面的mysqld考进来,我想就不会有大问题了。

2,等我把libexec下面的mysqld考好后,还是启动不了,还是提示问题1中的错误,我在网上找了好多办法都不行,有一个办法,可以解决,就是将/mysql安装目录/data/mysql-bin.index删除掉,然后在

/usr/local/mysql/bin/mysqld_safe --user=root --skip-grant-tables

然后就启动了。

3,当我用mysql -u root -p时提示我

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

但是my.cnf里面.sock文件定义在/tmp/mysql.sock啊,怎么会跑到那儿去呢

有二种方法可以解决这个问题

a),加软链接,ln -s /var/run/mysqld/mysql.sock /tmp/mysql.sock

b),mysql -u root -p -S /tmp/mysql.sock


 

(责任编辑:IT)