最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL无法启动:Tablemysql.hostdoesntexist

来源:动视网 责编:小采 时间:2020-11-09 09:52:25
文档

MySQL无法启动:Tablemysql.hostdoesntexist

MySQL无法启动:Tablemysql.hostdoesntexist:MySQL无法启动:Table \'mysql.host\' doesn\'t exist,下面我来介绍如何解决这个问题。安装很顺利但无法启动,想了想可能是之前误操作/var/目录的权限,导致没有写权限导致的。但重新设置写权限之后仍不能正确启动。 提示: Timeout error
推荐度:
导读MySQL无法启动:Tablemysql.hostdoesntexist:MySQL无法启动:Table \'mysql.host\' doesn\'t exist,下面我来介绍如何解决这个问题。安装很顺利但无法启动,想了想可能是之前误操作/var/目录的权限,导致没有写权限导致的。但重新设置写权限之后仍不能正确启动。 提示: Timeout error


MySQL无法启动:Table \'mysql.host\' doesn\'t exist,下面我来介绍如何解决这个问题。安装很顺利但无法启动,想了想可能是之前误操作/var/目录的权限,导致没有写权限导致的。但重新设置写权限之后仍不能正确启动。

提示:

Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]

检查了MySQL的日志(cat /var/log/mysqld.log)发现提示一个错误([ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist),如图:

猜测可能是MySQL的默认数据库没正常安装,但卸载MySQL(yum remove mysql-server)再重装(yum install mysql-server)还是不行,现象和原来一样。后来找到一个专门安装默认数据库的命令:mysql_install_db,执行之后,再启动MySQL(/etc/init.d/mysqld start)终于看到久违的OK:

代码如下

# /etc/init.d/mysqld start
Starting MySQL: [ OK ]


问题二

用safe_mysqldq启动的时候,出现

Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

最终解决方法如下:

在mysql的安装目录下,我的是/usr/local/mysql

代码如下

./scripts/mysql_install_db --usrer=mysql --datadir=/usr/local/mysql/data/

原因是重装的时候数据目录不一致导致


问题三

说一下我解决的过程:

按照mysql的安装步骤:

代码如下
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &

这样标准进行下来是没有问题的,但在最后一步启动mysql的时候我希望将数据库的数据文件放在另外一个目录下面,启动命令修改为:

代码如下
shell>/usr/local/mysql/bin/mysqld_safe --user=mysql --log-error=/u01/mysql/mysql_error/error --datadir=/u01/mysql/data

这个时候就出现问题了, 因为在进行初始化数据库权限表的那一步的时候默认创建的权限表在默认目录/usr/local/mysql/var下面,这就造成了,上面的错误无法找到 权限表:Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

解决办法 在运行初始化权限表的时候使用增加参数--datadir ,命令格式为:

代码如下
shell> scripts/mysql_install_db --user=mysql --datadir=/u01/mysql/data

文档

MySQL无法启动:Tablemysql.hostdoesntexist

MySQL无法启动:Tablemysql.hostdoesntexist:MySQL无法启动:Table \'mysql.host\' doesn\'t exist,下面我来介绍如何解决这个问题。安装很顺利但无法启动,想了想可能是之前误操作/var/目录的权限,导致没有写权限导致的。但重新设置写权限之后仍不能正确启动。 提示: Timeout error
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top