centos6.5中rpm包安装mysql5.7初始化出错的解决方法

下面将详细讲解“CentOS 6.5 中 RPM 包安装 MySQL 5.7 初始化出错的解决方法”的完整攻略,包含以下内容:

问题描述

在 CentOS 6.5 中通过 RPM 包安装 MySQL 5.7,执行初始化命令时出现如下错误:

ERROR: Unable to start MySQL server:
mysqld: Can't read dir of '/var/lib/mysql/' (Errcode: 13 - Permission denied)
mysqld: [ERROR] Aborting
mysqld: [Note] /usr/sbin/mysqld: Shutdown complete

解决方法

  1. 创建 MySQL 相关的用户和组
sudo groupadd mysql
sudo useradd -r -g mysql mysql
  1. 为 MySQL 数据目录设置正确的权限
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod 770 /var/lib/mysql
sudo chmod g+s /var/lib/mysql
  1. 修改 SELinux 的 security context
sudo semanage fcontext -a -t mysqld_db_t "/var/lib/mysql(/.*)?"
sudo semanage fcontext -a -t mysqld_log_t "/var/log/mysql(/.*)?"
sudo semanage fcontext -a -t mysqld_tmp_t "/var/tmp/mysql(/.*)?"
sudo restorecon -Rv /var/lib/mysql
sudo restorecon -Rv /var/log/mysql
sudo restorecon -Rv /var/tmp/mysql
  1. 重新执行初始化命令
sudo mysqld --initialize-insecure
  1. 启动 MySQL 服务
sudo service mysqld start

示例说明

  1. 创建 MySQL 相关的用户和组

在 CentOS 6.5 中,MySQL 数据目录的所属用户和组默认为 mysql。如果系统中没有这个用户和组,则需要手动创建:

sudo groupadd mysql  # 创建 mysql 组
sudo useradd -r -g mysql mysql  # 创建 mysql 用户,-r 表示创建系统用户
  1. 为 MySQL 数据目录设置正确的权限

在 CentOS 6.5 中,MySQL 数据目录默认为 /var/lib/mysql。为了保证 MySQL 对数据目录有完全的访问权限,需要执行如下命令:

sudo chown -R mysql:mysql /var/lib/mysql  # 修改所有者和组为 mysql
sudo chmod 770 /var/lib/mysql  # 修改权限为 770
sudo chmod g+s /var/lib/mysql  # 设置SGID位,新建文件的所属组为 mysql
  1. 修改 SELinux 的 security context

在 CentOS 6.5 中,SELinux 默认开启,为了让 MySQL 对数据目录、日志目录以及临时目录等有完全的访问权限,需要修改相应的 security context:

sudo semanage fcontext -a -t mysqld_db_t "/var/lib/mysql(/.*)?"  # 添加 MySQL 数据目录的 security context
sudo semanage fcontext -a -t mysqld_log_t "/var/log/mysql(/.*)?"  # 添加 MySQL 日志目录的 security context
sudo semanage fcontext -a -t mysqld_tmp_t "/var/tmp/mysql(/.*)?"  # 添加 MySQL 临时目录的 security context
sudo restorecon -Rv /var/lib/mysql  # 重新设置 MySQL 数据目录的 security context
sudo restorecon -Rv /var/log/mysql  # 重新设置 MySQL 日志目录的 security context
sudo restorecon -Rv /var/tmp/mysql  # 重新设置 MySQL 临时目录的 security context
  1. 重新执行初始化命令

重新执行初始化命令,并加上 --initialize-insecure 参数,跳过密码初始化过程:

sudo mysqld --initialize-insecure
  1. 启动 MySQL 服务

启动 MySQL 服务:

sudo service mysqld start

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos6.5中rpm包安装mysql5.7初始化出错的解决方法 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • cisco交换机IP-MAC地址绑定配置

    Cisco交换机IP-MAC地址绑定配置攻略 在Cisco交换机上配置IP-MAC地址绑定可以增强网络安全性,限制只有特定的MAC地址可以与指定的IP地址通信。下面是详细的配置攻略: 步骤1:进入全局配置模式 首先,通过终端或远程登录进入Cisco交换机的命令行界面。然后,输入以下命令进入全局配置模式: enable configure terminal 步…

    other 2023年7月31日
    00
  • 千兆网络phy芯片rtl8211e的实践应用(自我总结篇)

    千兆网络PHY芯片RTL8211E是一种常用的网络芯片,广泛应用于各种网络设备中。本文将详细讲解RTL8211E的实践应用,包括RTL8211E的特点、使用方法和示例说明。 RTL8211E的特点 RTL8211E是一种高性能的千兆网络PHY芯片,具有以下特点: 支持千兆以太网:RTL8211E支持千兆以太网,可以实现高速数据传输。 支持自适应速度:RTL8…

    other 2023年5月7日
    00
  • smarty的section嵌套循环用法示例

    Smarty的section嵌套循环用法示例攻略 Smarty是一种流行的模板引擎,用于在PHP应用程序中分离逻辑和视图。其中,section是Smarty模板引擎中的一个重要特性,它允许我们在模板中创建循环结构。本攻略将详细讲解section的嵌套循环用法,并提供两个示例说明。 1. 基本语法 section的基本语法如下: {section name=s…

    other 2023年7月27日
    00
  • win10计算器命令怎么打开?win10计算器命令打开方法

    在Windows 10中,可以使用命令行方式打开计算器,下面是打开计算器的几种不同的方式: 使用Win+R命令打开计算器 Win+R是Windows操作系统中打开运行窗口的快捷键组合,可以在其中输入命令来运行程序。在运行窗口中输入”calc”即可打开计算器。 具体步骤如下: 按下Win+R组合键,打开运行窗口; 在运行窗口中输入”calc”; 按下回车键,打…

    other 2023年6月26日
    00
  • photoshop+xara3d打造独特3d文字效果

    以下是关于“Photoshop+Xara3D打造独特3D文字效果”的完整攻略,包括基本概念、步骤和两个示例说明。 基本概念 Photoshop是一款图像软件,可以用来编辑和处理图像。Xara3D是一款3D文字制作软件,可以用来制作独特的3D效果。 步骤 以下是使用Photoshop和Xara3D制作独特3D文字效果的步骤: 打开Photoshop,创建一个新…

    other 2023年5月7日
    00
  • Android中Fragment的生命周期与返回栈的管理

    那么让我们来详细讲解一下“Android中Fragment的生命周期与返回栈的管理”的完整攻略。 什么是Fragment Fragment是Android系统中重要的UI组件,它可以看做是一个子Activity,被设计成可嵌入在Activity中的组件。和Activity一样,Fragment也有自己的生命周期,包括onCreate、onCreateView…

    other 2023年6月27日
    00
  • 如何修复macbookpro过热

    如何修复MacBook Pro过热问题 MacBook Pro是一款性能出色的笔记本电脑,但是很多人都会遇到它过热的问题。过热除了会降低电脑的性能外,还会对电脑主板和硬件设备造成损害,因此及时修复MacBook Pro过热问题非常重要。本文将介绍几个简单的方法,帮助你解决MacBook Pro过热的问题。 检查MacBook Pro的散热系统 MacBook…

    其他 2023年3月29日
    00
  • dos下清除打印缓存及重启打印服务

    清除打印缓存及重启打印服务是解决打印机故障的常见方法之一。在DOS命令行中清除打印缓存及重启打印服务的具体步骤如下: 1. 停止打印服务 在DOS命令行中,使用如下命令停止打印服务: net stop spooler 该命令会停止打印服务,以便进行下一步操作。 2. 清空打印缓存 在DOS命令行中,使用如下命令清空打印缓存: del /Q /F %syste…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部