linux 启动mysql出现/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)错误,处理方式

110920 16:46:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110920 16:46:21 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110920 16:46:21 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110920 16:46:21 InnoDB: The InnoDB memory heap is disabled
110920 16:46:21 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
110920 16:46:21 InnoDB: Compressed tables use zlib 1.2.3

1、原因:可能是/usr/local/mysql/mysql.pid文件没有写的权限;

解决方法 :给予权限,执行 “chmod 775 /usr/local/mysql/ -R”  然后重新启动mysqld。

2、原因:可能进程里已经存在mysql进程;

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld。

3、原因:可能是第二次在机器上安装mysql,有残余数据影响了服务的启动;

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4、原因:mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir);

解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data。

5、原因:skip-federated字段问题;

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6、原因:错误日志目录不存在;

解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限。

7、原因:如果是centos系统,默认会开启selinux;

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

8、原因:log-bin路径错误;

解决方法:查看对应数据库下的error log,例如我的数据库为,/usr/local/mysql/var目录,其下的localhost.localdomain.err为错误日志,只要把其下的ib_logfile*删除即可,重启mysql即可。

一、Linux下MySQL的启动与停止

1、Mysql启动、停止、重启常用命令

a、启动方式

(1)使用 service 启动:

[root@localhost /]# service mysqld start (5.0版本是mysqld)

[root@szxdb etc]# service mysql start (5.5.7版本是mysql)

(2)使用 mysqld 脚本启动:

/etc/inint.d/mysqld start

(3)使用 safe_mysqld 启动:

safe_mysqld&

b、停止方式

(1)使用 service 启动:service mysqld stop

(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

(3)mysqladmin shutdown

c、重启方式

(1)使用 service 启动:

service mysqld restart 

service mysql restart (5.5.7版本命令)

(2)使用 mysqld 脚本启动:

/etc/init.d/mysqld restart

 

 

我得错误原因是datadir = /var/lib/mysql 路径下没有data文件夹,

新建文件夹后,

service mysqld start

mysql启动正常。

你可能感兴趣的:(mysql)