MYSQL5.7 切换datadir数据目录

众所周知,centos7操作系统mysql5.7采用安装方式部署的情况下,他的数据目录默认是在/var/lib/mysql,而其占用的是根路径对应的磁盘空间,一般服务器都是会额外外挂一个磁盘空间,理论上应该把数据目录放外挂的磁盘空间。否则就会导致我们的根路径磁盘空间马上就不够用了。所以后知后觉的人们就会需要下面的操作,对已有的数据库数据目录进行转移。

开始之前,请你做好数据备份工作,备份好你的数据库
上面的备份事项弄清楚了,再往下看!

1. 停止mysql服务

在迁移数据文件之前,首先需要停止MySQL服务,以确保数据文件不会在迁移过程中发生变化。

sudo systemctl stop mysqld

或者,如果您使用的是init系统:

bash sudo service mysql stop

2. 复制数据文件到新位置

使用rsynccp命令将/var/lib/mysql目录下的所有文件复制到新的位置。例如,如果您想将数据文件迁移到/new/location/mysql,可以使用以下命令:

sudo cp -Rp /var/lib/mysql /new/location/

当你以为只是简单的复制就ok那就想简单了。因为centos7使用了SELinux,系统会控制应用能访问的目录,所以如果不更改相关配置,则会导致启动数据库失败,提示没有权限。

#使用此命令看你新目录的mysql文件夹
ll -Z
#正确的应该是下面这样
drwxr-x--x. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysql

如果不是则按如下操作。

sudo semanage fcontext -a -t mysqld_db_t "/new/location/mysql(/.*)?"
sudo restorecon -R /new/location/mysql

确保在复制过程中保留文件的权限和所有权,这对于MySQL的正常运行至关重要。

SELinux(Security-Enhanced
Linux)是一个安全模块,集成在Linux内核中,它提供了一种强制访问控制(MAC)机制,用于增强操作系统的安全性。SELinux由美国国家安全局(NSA)开发,并在2000年12月发布,随后被合并到Linux内核的主线版本中。

如需判断系统是否开启了SELinux,使用以下语句

sestatus
如果出现下面的结果,就是开启了。

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31

3.修改mysql 配置文件

编辑MySQL的配置文件my.cnf(通常位于/etc/mysql/my.cnf/etc/my.cnf),更新datadir参数以指向新的数据文件位置。

vi /etc/my.cnf

在配置文件中找到以下行:

datadir = /var/lib/mysql

将其修改为:

datadir = /new/location/mysql

保存 esc :wq 关闭文件。

4. 启动mysql数据库

现在可以启动MySQL服务,并检查是否一切正常。

复制

sudo systemctl start mysqld

或者,如果您使用的是init系统:

复制

bash sudo service mysql start

5.其他事项

正常情况下,上面的步骤是一切顺利的,至此已经完成迁移工作。

但你不能删了原来的mysql文件夹,针对性的删除一些大数据,除非你确保你的my.cnf配置已经完全把所有路径更改了。因为还有sock等。

如果启动失败了,那么已经超出此篇博文的内容了。需要看一下具体失败原因再进行解决。实在不行,就切回去从长计议。切回去只要更改配置文件my.cnf datadir改为原来的路径即可。

#查看当前数据库服务的状态
systemctl status mysqld

默认的mysqld的日志在

#排查数据库启动失败的原因
tail -f /var/log/mysqld.log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 删除当前用户下所有表

荆轲刺秦王 通常呢 我们将正式环境的 oracle 数据库 导出成 dmp 文件,然后导入到测试环境或者本地环境,期间可能会出现各种问题。那么如何使错误的导入数据全部删除呢。可以这样做: 1. 本地虚拟机启动 oracle 服务 2. sqldeveloper 连接 o…

vue 安装依赖报错

解决方法: npm install --legacy-peer-deps 然后再运行项目即可。

LabVIEW利用旋转编码器脉冲触发数据采集

利用旋转编码器发出的脉冲控制数据采集,可以采用硬件触发方式,以确保每个脉冲都能触发一次数据采集。本文提供了详细的解决方案,包括硬件连接、LabVIEW编程和触发设置,确保数据采集的准确性和实时性。 一、硬件连接 1. 旋转编码…

Day37

Day37 综合案例 http请求方式有哪些? GET:请求指定的页面信息,并返回实体主体。这是最常见的请求方式,用于从服务器获取数据。 HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,只有…

北斗应急通信手持终端如何在户外使用

北斗应急通信手持终端在户外的使用,需要遵循一定的步骤和注意事项以确保其高效、安全地运作。以下是一个清晰的使用指南: 一、准备阶段 检查电量:确保北斗应急通信手持终端的电量充足,并携带备用电源以应对长时间使用的情况。 熟…

Ubuntu系统设置中文输入法

重新设置超级用户权限(root)密码(非必要) sudo passwd root 需要注意的是Ubuntu的root密码不能少于8个字符 设置成功后输入命令和新的密码即可无需输入sudo启用root命令 su - 更新软件包列表 sudo apt update sudo apt upgrade 安装fcitx5输入法框架 个别情况需要卸载旧的…

红黑树【C++实现】

文章目录 红黑树的概念红黑树的性质红黑树的操作红黑树结点的定义红黑树的插入情况一:插入结点的叔叔存在,且叔叔的颜色是红色情况二: 插入结点的叔叔存在,且叔叔的颜色是黑色情况三: 插入结点的叔叔不存在 红黑树的验证红黑树的查找 红黑树的…

实现直流高电压(100Vdc~1000Vdc)检测的采样电路(隔离方案)

目前,在电力系统自动化领域、新能源电动汽车领域以及高压储能领域,经常需要采样、检测高压直流母线电压,一般直流高压可能达到100Vdc~1000Vdc,结合电路成本和采样精度,我们设计人员就需要选择合适的采样电路…

【elementui源码解析】如何实现自动渲染md文档-第一篇

文章目录 目录 背景 获取源码 代码分析 背景 之前基于vant3的源码开发过二次开发过组件,其中vant实现了将md文档渲染到界面上,有天突发奇想想知道这是如何实现的将md文档渲染到界面上的,因为平时开发中使用elementui占多数,所…

java线程池讲解!核心参数

创建方式 | 构造方法 Executor构造方法 存放线程的容器&#xff1a; private final HashSet<Worker> workers new HashSet<Worker>(); 构造方法&#xff1a; public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit uni…

利用Morph Studio平台免费生成AI视频教程和效果体验

今天体验一下生成AI视频平台&#xff0c;目前是免费的&#xff0c;但生成效果还是不错的,可以根据输入文字&#xff0c;或者上传图片&#xff0c;或者上传视频来自动生成视频。 访问官网&#xff0c;登录之后点击“create Library” &#xff0c;比如我建了一个“AI视频”的Li…

4S店试驾线上预约小程序源码系统 前后端分离 带完整的源代码包+安装部署教程

系统概述 这款 4S 店试驾线上预约小程序源码系统旨在为 4S 店和消费者提供便捷、高效的试驾预约服务。通过小程序&#xff0c;消费者可以轻松预约试驾&#xff0c;4S 店可以方便地管理预约信息&#xff0c;提高工作效率和服务质量。 代码示例 系统特色功能一览 1.便捷的预约流…

面向对象编程重载

系列文章目录 文章目录 系列文章目录前言一、重载&#xff08;overload&#xff09; 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了…

52.@NotNUll,@NotBlank,@NotEmpty的使用区别

1.NotNull 适用于基本数据类型(Integer&#xff0c;Long&#xff0c;Double等等)&#xff0c;当 NotNull 注解被使用在 String 类型的数据上&#xff0c;则表示该数据不能为 Null&#xff08;但是可以为 Empty&#xff09; NotNull(message "id不能为空", groups …

000003 - Hadoop集群配置

Hadoop集群配置 1. 背景2. 实践2.1 集群规划2.2 配置文件说明2.3 配置 1. 背景 在000002 - Hadoop环境安装&#xff0c;我们已经执行完了如下步骤。接下来就是将不同服务器上的Hadoop配置为一个整体的集群。 准备三台Linux服务器&#xff0c;服务器之间相互配置免密ssh登陆在…

floating_point的IP核使用

参考文章&#xff1a;Vivado IP核之定点数转为浮点数Floating-point_vivado 浮点数-CSDN博客 IP核的配置 后边还要做FFT&#xff0c;所以理论上最好的输出方式是单精度浮点。 输入精度&#xff1a;为了满足要求&#xff0c;输出数据的24位&#xff0c;其中 1位符号位&#xff…

2024年【制冷与空调设备运行操作】考试内容及制冷与空调设备运行操作考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 制冷与空调设备运行操作考试内容考前必练&#xff01;安全生产模拟考试一点通每个月更新制冷与空调设备运行操作考试报名题目及答案&#xff01;多做几遍&#xff0c;其实通过制冷与空调设备运行操作新版试题很简单。…

工厂模式(设计模式)

使用工厂模式创建对象的好处在于&#xff0c;具体的实现类可以随意换&#xff08;解耦&#xff09;。因为在返回创建的对象的时候&#xff0c;我将此对象向上转型。那么如果需求变动&#xff0c;我可以再写一个这个接口的实现类&#xff0c;只用修改这个工厂类中的代码。而使用…

pytest配置文件配置并通过allure生成报告

之前已经学习了使用pytestrequests实现各种方式的调用和一些脚本的执行&#xff0c;今天来学习下如何使用pytest.ini配置文件来管理用例的执行以及如何使用allure生成测试报告。 1.pytest.ini文件配置 在项目目录下新建pytest.ini文件&#xff0c;然后进行配置&#xff0c;pyt…

从路边摊到五星级酒店:六西格玛培训的价格与品质探秘!

当我们深入探讨市面上的六西格玛培训价格差异时&#xff0c;确实会发现不同机构之间存在着显著的差别。以张驰咨询和xx机构为例&#xff0c;两者在价格定位上形成了鲜明的对比&#xff0c;同时也展示了不同机构在教学理念和服务品质上的不同。 xx机构之所以能以亲民的价格吸引…