龙空技术网

MySQL安装但是无法启动定位方法

拾光映季 150

前言:

现时姐妹们对“安装mysql服务失败”大概比较关切,看官们都需要分析一些“安装mysql服务失败”的相关知识。那么小编在网摘上搜集了一些对于“安装mysql服务失败””的相关文章,希望朋友们能喜欢,兄弟们快快来学习一下吧!

Centos环境下问题描述:出现mysql安装但是无法启动

定位方法:可以查看mysql的系统日志(日志路径在/etc/my.cnf中定义),一般出现ERROR级别的打印就是问题的原因点:

案例1:日志打印:Another process with pid 1723 is using unix socket file. Unable to setup unix socket lock file.

解决方案:删除mysql路径下残留的mysql.scok和mysql.sock.lock,再service mysqld start即可

案例2:日志打印:Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 38785739 and the end 38787200

Plugin initialization aborted with error Generic error

解决方案:需要删除mysql目录下的ib_logfile0和ib_logfile1,再service mysqld start即可

案例3:日志打印:ERROR: 1004 Can't create file '/tmp/xxx.frm' (errno: 13),Permission denied;

解决方案:查看该目录(此处为/tmp)权限是否可读写,若没有chmod 777 即可

案例4: Mysql启动失败提示host.myd文件丢失

解决方法:1.通过mysql_install_db命令初始化mysql数据库

mysql_install_db命令在/usr/bin/目录下

执行./mysql_install_db --user=mysql (-ldata=/var/lib/mysql,可选项)

该方式可能会遇到初始化失败,host.myd文件依然不存在,可采用第二种方法

2.编辑mysql的配置文件,添加skip-grant-tables,跳过安全验证

#vi /etc/my.cnf

在【mysqld】的段中添加:skip-grant-tables

如:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-grant-tables

保存退出后,启动mysql

#service mysqld start

#mysql

mysql>use mysql;

mysql>show tables;

mysql>select * from host: --该操作时会报错,提示host.myd不存在

mysql>drop table host; --删除host表

mysql>CREATE TABLE `host` (....) --重新创建host表

mysql>FLUSH PRIVILEGES;

退出,编辑mysql配置文件my.cnf,去掉skip-grant-tables并保存

#service mysqld restart --重启mysqld成功(如有其他的表报错,可按此操作处理)

关键点定义:操作前,避免数据丢失可先将整个mysql目录打包,tar -cvf /var/lib/mysql.tar.gz /var/lig/mysql

标签: #安装mysql服务失败