当前位置: 首页 > 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…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...