CentOS7 MySQL8.0 启动失败 Data Dictionary initialization failed

在CentOS7下面MySQL启动失败。==》

大家注意,这种方式解决问题虽然好使,但是会删除数据,希望不要轻易使用这种方式。

1.查看错误原因

1.1看错误日志在哪里

cat /etc/my.cnf
在这里插入图片描述
确定错误日志文件在/var/log/mysqld.log,查看错误

1.2查看错误

cat /var/log/mysqld.log

2020-04-12T14:43:42.933326Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-04-12T14:43:42.933520Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.
2020-04-12T14:43:43.211777Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 2789
2020-04-12T14:43:43.220187Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2020-04-12T14:43:43.220309Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-04-12T14:43:43.220364Z 0 [ERROR] [MY-010119] [Server] Aborting

Data Dictionary initialization failed.说的就是初始化Data文件夹失败了。而这个Data文件夹指的就是/etc/my.cnf下面配置的datadir路径。
在这里插入图片描述

2.解决问题

初始化失败原因有很多,最多可能权限问题。索性删除Data文件夹(即:/var/lib/mysql)

2.1删除Data文件夹

rm -rf /var/lib/mysql

2.2重新初始化并启动MySQL

初始化
命令:
mysqld --initialize --console
目录授权
命令:
chown -R mysql:mysql /var/lib/mysql/
启动mysql服务
命令:
systemctl start mysqld
命令:
systemctl status mysqld

我的问题就解决了,但是问题原因可能不止我这一种,但是找错误的方式都是差不多的。

  • 24
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 首先,确保您已经安装了CentOS7MySQL8.0版本,然后请运行以下命令来配置MySQL:sudo mysql_secure_installation,接着按照提示操作即可完成MySQL的安装和配置。 ### 回答2: CentOS 7 是一种常见的 Linux 操作系统,MySQL 8.0 是一种流行的关系型数据库管理系统。安装和配置MySQL 8.0 可以按照以下步骤进行: 1. 首先,确保你已经在 CentOS 7 系统上安装了必要的软件包和依赖项: ``` sudo yum update // 更新系统软件包 sudo yum install wget // 安装 wget sudo yum install yum-utils ``` 2. 接下来,下载 MySQL 8.0 的 Yum 存储库配置文件并将其复制到 `/etc/yum.repos.d/` 目录中: ``` sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm ``` 3. 安装 MySQL 8.0: ``` sudo yum install mysql-server ``` 4. 一旦安装完成,启动 MySQL 服务并将其设置为随系统启动时自动启动: ``` sudo systemctl start mysqld // 启动 MySQL 服务 sudo systemctl enable mysqld // 设置 MySQL 服务自动启动 ``` 5. 运行初始安全设置并为 MySQL 8.0 设置密码: ``` sudo mysql_secure_installation ``` 6. 登录 MySQL 数据库: ``` sudo mysql -u root -p ``` 7. 进入 MySQL shell 后,可以创建新的数据库、表格和用户等操作: ``` CREATE DATABASE mydatabase; USE mydatabase; CREATE TABLE mytable (id INT, name VARCHAR(20)); CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; ``` 通过以上步骤,你就可以在 CentOS 7 上成功安装和配置 MySQL 8.0,并开始使用它进行数据库操作了。当然,在实际操作中,还可能涉及到更多细节和个性化的需求,需要根据具体情况进行相应的调整和配置。 ### 回答3: CentOS 7安装和配置MySQL 8.0的步骤如下: 1. 首先,我们需要确保CentOS 7的软件包管理工具是最新的。可以通过运行以下命令来更新: ``` sudo yum update ``` 2. 接下来,我们可以使用以下命令安装MySQL 8.0的存储库: ``` sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm ``` 3. 安装完存储库后,我们可以使用以下命令安装MySQL服务器: ``` sudo yum install mysql-server ``` 4. 安装完成后,我们可以使用以下命令启动MySQL服务,并设置开机自启动: ``` sudo systemctl start mysqld sudo systemctl enable mysqld ``` 5. 接下来,我们需要运行以下命令获取MySQL的临时初始密码: ``` sudo grep 'temporary password' /var/log/mysqld.log ``` 6. 使用以下命令登录MySQL并更改初始密码: ``` mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 7. 随后,我们可以创建新的MySQL用户并授予所需的权限: ``` CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '用户名'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 8. 最后,我们可以通过编辑MySQL的配置文件来进行进一步的配置。该文件位于以下位置: ``` /etc/my.cnf ``` 可以根据需要更改各种设置,如端口号、字符编码等。 以上是在CentOS 7上安装和配置MySQL 8.0的基本步骤。根据具体需求和环境,可能需要执行其他额外的配置步骤或安全措施。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东芃9394

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值