当前位置: 首页 > news >正文

ubuntu18 下更改 mysql 数据目录

一、修改步骤

更改 MySQL 的数据目录需要注意以下几个步骤:

  1. 停止 MySQL 服务

    在 Ubuntu 中,你可以使用以下命令停止 MySQL 服务:

    sudo systemctl stop mysql
    ```
  2. 复制现有数据

    假设你的新的数据目录是 /new/dir/mysql,你应该使用 rsync 复制现有的数据。这样可以保留文件和目录的权限。

    sudo rsync -av /var/lib/mysql /new/dir
    ```
  3. 更改 MySQL 配置

    在 /etc/mysql/mysql.conf.d/mysqld.cnf 文件中找到 datadir 行,更改为新的目录:

    datadir=/new/dir/mysql
    ```你可能需要使用 `sudo` 权限编辑此文件。
  4. 更新 AppArmor 权限

    Ubuntu 使用 AppArmor 作为访问控制系统,你需要更新 MySQL 的配置文件以允许访问新的数据目录。在 /etc/apparmor.d/tunables/alias 文件中添加以下内容:

    alias /var/lib/mysql/ -> /new/dir/mysql/,
    ```你可能需要使用 `sudo` 权限编辑此文件。
  5. 重启 AppArmor

    使用以下命令重启 AppArmor:

    sudo systemctl restart apparmor
    ```
  6. 启动 MySQL 服务

    最后,你可以启动 MySQL 服务:

    sudo systemctl start mysql
    ```如果 MySQL 服务启动失败,你应该检查 MySQL 的日志文件以找到可能的问题。
    
  7. sql 语句验证

SHOW VARIABLES LIKE 'datadir';

SHOW DATABASES;

SELECT DATABASE();

SHOW TABLES;

SELECT * FROM 表名

请注意,这些步骤需要高级的系统管理技能,如果你不确定,应该寻求专业的帮助。同时,更改数据目录可能会影响到备份和其他依赖 MySQL 的应用,因此在操作前应该进行充分的规划和测试。

二、新知识点注入 

rsync命令

功能介绍:

rsync 是一个用于文件传输和备份的命令行工具,它可以在本地或远程系统之间同步文件和目录。它的设计目标是快速、灵活和安全地传输数据。下面是 rsync 命令的详细说明:

基本语法:

rsync [OPTION]... SRC [SRC]... DEST

常用选项:

  • -a, --archive:以归档模式传输文件和目录,保持文件属性、权限、时间等信息。
  • -v, --verbose:显示详细输出,可用于跟踪传输过程。
  • -r, --recursive:递归传输目录及其内容。
  • -z, --compress:在传输过程中压缩数据,以减少传输的数据量。
  • -u, --update:仅传输源目录中新于目标目录的文件。
  • -n, --dry-run:执行模拟运行,显示将要执行的操作而不实际执行。
  • --delete:删除目标目录中不在源目录中的文件。
  • --exclude=PATTERN:排除符合指定模式的文件或目录。
  • --progress:显示传输进度信息。

示例用法:

1. 本地文件同步:

rsync -avz /path/to/source /path/to/destination

该命令将本地源目录 /path/to/source 下的文件和目录以归档模式同步到本地目标目录 /path/to/destination

2. 本地到远程同步:

rsync -avz /path/to/source username@remote:/path/to/destination

该命令将本地源目录 /path/to/source 下的文件和目录以归档模式同步到远程服务器的目标目录 /path/to/destination,需要提供远程服务器的用户名和登录地址。

3. 远程到本地同步:

rsync -avz username@remote:/path/to/source /path/to/destination

该命令将远程服务器的源目录 /path/to/source 下的文件和目录以归档模式同步到本地的目标目录 /path/to/destination,需要提供远程服务器的用户名和登录地址。

这只是 rsync 命令的一些常见用法,还有更多的选项和用法可以根据具体需求进行探索和使用。可以通过运行 man rsync 或 rsync --help 命令获取完整的 rsync 命令手册和帮助信息。

AppArmor是什么

AppArmor(Application Armor)是一种增强安全性的 Linux 内核安全模块,用于限制应用程序的访问权限,从而提供额外的安全保护。它通过定义应用程序的访问策略,限制其对系统资源的访问,以减轻潜在的安全风险。

下面是关于 AppArmor 的详细说明:

工作原理:

AppArmor 通过为每个应用程序创建一个安全策略配置文件来工作。这个配置文件定义了应用程序在运行时可以访问的文件、目录、网络端口等资源。当应用程序运行时,AppArmor 监视其行为,并根据配置文件中定义的策略限制其访问权限。如果应用程序尝试访问未经授权的资源,AppArmor 将阻止该操作并记录相关事件。

主要特点:

  • 简单配置:AppArmor 使用基于文本的配置文件,易于理解和编辑。
  • 灵活性:可以为每个应用程序创建独立的安全策略配置文件,根据实际需求进行定制。
  • 按需加载:AppArmor 可以在需要时加载和卸载应用程序的安全策略,减少系统资源的占用。
  • 强制模式和学习模式:AppArmor 可以以强制模式或学习模式运行。在强制模式下,应用程序只能访问授权的资源,而在学习模式下,AppArmor 记录应用程序的行为并生成安全策略配置文件,供后续使用。

配置和使用:

  1. 安装 AppArmor:可以使用系统包管理器安装 AppArmor 软件包,例如在 Ubuntu 上使用以下命令:

    sudo apt-get install apparmor
    ```
  2. 创建安全策略配置文件:为每个应用程序创建一个安全策略配置文件,通常位于 /etc/apparmor.d/ 目录下。配置文件的命名约定是 usr.bin.<应用程序名称>。例如,对于应用程序 /usr/bin/firefox,配置文件将是 /etc/apparmor.d/usr.bin.firefox

  3. 编辑配置文件:打开配置文件并定义应用程序的访问策略。你可以指定允许或拒绝的文件、目录、网络端口等。配置文件使用一种特定的语法,可以参考 AppArmor 文档和示例来了解更多信息。

  4. 加载策略和启用 AppArmor:使用以下命令加载并启用应用程序的安全策略:

    sudo apparmor_parser -r /etc/apparmor.d/usr.bin.<应用程序名称>
    ```
  5. 检查和监视日志:通过 dmesg 命令或 /var/log/syslog 文件检查 AppArmor 的日志,以查看应用程序的访问被拦截的事件和详细信息。

这只是对 AppArmor 的简要介绍,它是一个强大的安全工具,可以增强 Linux 系统的安全性。如需深入了解和使用 AppArmor,请参考其官方文档和相关资源。

相关文章:

ubuntu18 下更改 mysql 数据目录

一、修改步骤 更改 MySQL 的数据目录需要注意以下几个步骤&#xff1a; 停止 MySQL 服务 在 Ubuntu 中&#xff0c;你可以使用以下命令停止 MySQL 服务&#xff1a; sudo systemctl stop mysql 复制现有数据 假设你的新的数据目录是 /new/dir/mysql&#xff0c;你应该使用 rsy…...

Arduino看门狗定时器WDT

Arduino - 看门狗定时器&#xff08;WDT&#xff1a;Watch Dog Timer&#xff09; 参考 看门狗定时器&#xff08;WDT&#xff1a;Watch Dog Timer&#xff09;实际上是一个计数器。 一般给看门狗一个大数&#xff0c;程序开始运行后看门狗开始倒计数。 如果程序运行正常&…...

大数据岗位秋招面试八股文总结(不定时更新)

HIVE面试题 内部表和外部表的区别 未被external修饰的是内部表&#xff0c;被external修饰的是外部表&#xff1b; 内部表数据由Hive自身管理&#xff0c;外部表由HDFS管理&#xff1b; 删除内部表会直接删除元数据及存储数据&#xff0c;删除外部表&#xff0c;仅仅会删除…...

MATLAB高分辨率图片

把背景调黑&#xff0c;把曲线调黄&#xff0c;把grid调白&#xff0c;调调字体字号的操作 close all a0:0.1:10; noise2*rand(1,length(a)); bsin(a)sin(3*a)noise;plot(a,b,y,linewidth,2); ylim([-3 4]) %y轴范围 set(gca,xgrid,on,ygrid,on,gridlinestyle,-,Grid…...

Spring Clould 消息队列 - RabbitMQ

视频地址&#xff1a;微服务&#xff08;SpringCloudRabbitMQDockerRedis搜索分布式&#xff09; 初识MQ-同步通讯的优缺点&#xff08;P61&#xff0c;P62&#xff09; 同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&…...

【SpringBoot】中的ApplicationRunner接口 和 CommandLineRunner接口

1. ApplicationRunner接口 用法&#xff1a; 类型&#xff1a; 接口 方法&#xff1a; 只定义了一个run方法 使用场景&#xff1a; springBoot项目启动时&#xff0c;若想在启动之后直接执行某一段代码&#xff0c;就可以用 ApplicationRunner这个接口&#xff0c;并实现接口…...

微信小程序前后端开发快速入门(完结篇)

这篇是微信小程序前后端快速入门完结篇了&#xff0c;今天利用之前学习过的所有知识做一个新的项目「群登记助手v1.0」小程序。 整体技术架构&#xff1a;小程序原生前端小程序云开发。 经历了前面教程的学习&#xff0c;大家有了一定的基础&#xff0c;所以本次分享重心主要是…...

【Linux】进程间通信之消息队列

文章目录 消息队列的概念消息队列的出队特点消息队列函数接口获取消息队列向消息队列发送消息接收消息操作消息队列的接口 代码演示ipcs命令 消息队列的概念 消息队列提供进程间数据块传输的方法&#xff0c;传输的每一个数据块都认为是有类型的&#xff0c;不同的数据块是有优…...

一次Linux中的木马病毒解决经历(6379端口---newinit.sh)

病毒入侵解决方案 情景 最近几天一直CPU100%,也没有注意看到了以为正常的服务调用,直到腾讯给发了邮件警告说我的服务器正在入侵其他服务器的6379端口,我就是正常的使用不可能去入侵别人的系统的,这是违法的. 排查 既然入侵6379端口,就怀疑是通过我的Redis服务进入的我的系统…...

ProtoBuf

文章目录 1.认识 ProtoBuf2. 安装ProtoBuf3. 快速上手 ProtoBuf4. proto3 语法5. probuf 实战6. 总结 1.认识 ProtoBuf 在认识 啥是 ProtoBuf 之前我们先来 回顾一下 &#xff08;或 了解 一下 啥是 序列化&#xff09; 序列化概念回顾 : 图一 : 回顾 序列化 &#xff0c;下面…...

AJ-Captcha行为验证在vue中的使用

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 项目场景&#xff1a;由原先的验证码校验升级为行为验证校验 使用方法 提示&#xff1a;参考文档&#xff1a; 参考文档&#xff1a;vue使用AJ-Captcha文档 gitee地址&#xff1a;AJ-Captcha &…...

Layui列表复选框根据条件禁用

// 禁用客服回访id有值的复选框res.data.forEach(function (item, i) {if (item.feedbackEmpId) {let index res.data[i][LAY_TABLE_INDEX];$(".layui-table tr[data-index"index"] input[typecheckbox]").prop(disabled,true);$(".layui-table tr[d…...

K8S核心组件etcd详解(下)

1 k8s如何使用etcd 在k8s中所有对象的manifest都需要保存到某个地方&#xff0c;这样他们的manifest在api server重启和失败的时候才不会丢失。 只有api server能访问etcd&#xff0c;其它组件只能间接访问etcd的好处是 增强乐观锁系统及验证系统的健壮性 方便后续存储的替换…...

【HarmonyOS】【DevEco Studio】ohpm安装失败该如何解决?

【关键词】 HarmonyOS、DevEco Studio、ohpm安装失败 【问题背景及解决方案】 最近遇到很多DevEco Studio安装ohpm失败的问题&#xff0c;下面给大家介绍几种出现的问题以及解决方案&#xff1a; 1、ohpm not set up&#xff0c;报错截图如下&#xff1a; ​ 解决方案&…...

STM32 cubemx CAN

接收用到的结构体如下&#xff1a;CAN概念&#xff1a; 全称Controller Area Network&#xff0c;是一种半双工&#xff0c;异步通讯。 物理层&#xff1a; 闭环&#xff1a;允许总线最长40m&#xff0c;最高速1Mbps&#xff0c;规定总线两端各有一个120Ω电阻&#xff0c;闭环…...

贴片电阻封装尺寸及焊盘尺寸

1、贴片电阻封装尺寸 有英制和公制之分&#xff0c;英制的单位是inch&#xff0c;公制的单位是m&#xff1b;&#xff08;m、cm、mm只是进制不同&#xff09; 通常说的都是英制&#xff0c;比如0603指的是inch单位下的0.06inch和0.03inch&#xff1b; 下图有inch和mm的对照、…...

软考笔记——9.软件工程

软件工程的基本原理&#xff1a;用分阶段的生命周期计划严格管理、坚持进行阶段评审、实现严格的产品控制、采用现代程序设计技术、结果应能清除的审查、开发小组的人员应少而精、承认不断改进软件工程事件的必要性。 软件工程的基本要素&#xff1a;方法、工具、过程 软件生…...

uniapp小程序实现上传图片功能,并显示上传进度

效果图&#xff1a; 实现方法&#xff1a; 一、通过uni.chooseMedia(OBJECT)方法&#xff0c;拍摄或从手机相册中选择图片或视频。 官方文档链接: https://uniapp.dcloud.net.cn/api/media/video.html#choosemedia uni.chooseMedia({count: 9,mediaType: [image,video],so…...

基于物理场的动态模式分解(piDMD)研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Docker部署rabbitmq遇到的问题 Stats in management UI are disabled on this node

1. Stats in management UI are disabled on this node #进入rabbitmq容器 docker exec -it {rabbitmq容器名称或者id} /bin/bash#进入容器后&#xff0c;cd到以下路径 cd /etc/rabbitmq/conf.d/#修改 management_agent.disable_metrics_collector false echo management_age…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...