如果数据库报这个错,日志里面没有任何报错,配置文件、目录权限都对着,可以使用以下命令查看,是否缺少依赖文件
对mysql的安装目录和数据目录分别进行授权
1 2 3 |
# chown -R mysql.mysql /usr/local/mysql # chown -R mysql.mysql /data/mysql # service mysqld start |
或者是配置文件的配置项导致的,回退自己的修改过的配置,这种报错可以在数据库的错误日志中显示出来
解决方法:
用命令“ps -ef|grep mysqld”查看是否有mysqld进程
如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
有残余数据影响了服务的启动
解决方法:
去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:
请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
解决方法 :
给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
解决方法:
关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试
注意:** 执行该操作之前一定要对数据库进行备份,因为ibdata1存放的是所有数据文件,如果不小心删了库,那就惨了!!!(传说中的从删库到跑路。。。),然后重启mysql。
Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed。
解决办法:
1 |
[root@localhost mysql]# rm -rf ib_logfile* |
然后启动mysql,问题解决!
“initialize buffer pool,size=128.0M”,“cannot allocate memory for the pool”
大概意思是说无法分配足够的内存供pool使用。
此时想到mysql配置文件中有相关的配置,于是更改如下参数:
1 2 |
innodb_buffer_pool_size = 128 #配置文件中该值默认为128M |
将这个值调小,再次启动mysql服务,问题解决!
1 2 |
# yum -y install libaio # yum -y install numactl |
重新启动mysql服务,问题解决