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

linux下变更mysql的数据文件目录

变更MySQL的数据文件目录,linux下比windows要简单。

步骤是

1、停止mysql
2、拷贝数据文件到新目录,拷贝时保留文件的权限
3、修改配置文件
4、重启mysql

下面是详细介绍。

一、操作步骤

1、确认配置文件

首先是要找到配置文件。像我们的操作系统,ubuntu20.04,是工控机提供的,被厂家阉割过,出厂就自带mysql。其配置文件是这个:

ls /etc/mysql/mysql.conf.d/mysqld.cnf

2、备份配置文件

sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak

3、修改配置文件

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

比如说,我想把新的数据库目录设在 /mnt/sda/mysql 。同时想让别的机器也能访问这个数据库,从配置文件看,默认情况mysql只允许本机连。将bind-address的ip设为0.0.0.0,代表可以被任意机器访问。mysqlx-bind-address同理。mysqlx-bind-address据说是给一些插件使用,其端口是33060,我的C++项目就是用这个端口去连接mysql的。

相关键值修改如下:

datadir = /mnt/sda/mysql
bind-address            = 0.0.0.0
mysqlx-bind-address     = 0.0.0.0

4、停止数据库

sudo systemctl stop mysql

5、拷贝数据文件

拷贝的同时,保留原来文件的权限设置。就一个参数,这点比windows方便多了。windows下修改mysql的数据目录,比较折腾,详见附录。

sudo cp -a /var/lib/mysql/ /mnt/sda/

8、重启数据库

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart mysql

9、查看当前mysql的数据文件目录所在

进入mysql,

mysql> SHOW VARIABLES LIKE 'datadir';

按道理,以上就可以实现变更数据目录了。但前面说到,我们的mysql是工控机自带的,也不知道厂家做了啥设置,它好像并不使用这个配置文件,一切按默认的来。所以只能修改启动文件,在启动的时候,强制使用配置文件。如下:

6、备份启动服务文件(可选)

sudo cp /lib/systemd/system/mysql.service  /lib/systemd/system/mysql.service.bak

7、修改启动服务文件(可选)

sudo vi /lib/systemd/system/mysql.service

修改 ExecStart 为

ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --user=mysql

如此,数据文件变更矣。
在这里插入图片描述

二、附录

windows下mysql8修改my.ini设置datadir后无法启动问题

http://www.dtcms.com/a/299018.html

相关文章:

  • CentOS 7 安装 MySQL 8.4.6(二进制包)指南
  • 基于MySQL实现基础图数据库
  • Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
  • GMP模型
  • 背包问题及 LIS 优化
  • 口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)
  • vue子组件关闭自己的方式(事件触发)
  • 上证50指数分红和股指期货有什么关系?
  • MybatisPlus-18.插件功能-分页插件基本用法
  • Vue3 学习教程,从入门到精通,Vue3 样式绑定语法详解与案例(17)
  • 学习随想录-- web3学习入门计划
  • 【自动化运维神器Ansible】Ansible常用模块之File模块详解
  • 收银系统优惠功能架构:可扩展设计指南(含可扩展性思路与落地细节)
  • selenium自动化鼠标和键盘操作
  • 06-ES6
  • 【LLM】Kimi-K2模型架构(MuonClip 优化器等)
  • 详解力扣高频SQL50题之550. 游戏玩法分析 IV【中等】
  • qt c++ msvc2017编译器解决界面中中文乱码问题
  • 数据赋能(336)——技术平台——智能化运营
  • 动态SQL标签
  • AI-调查研究-39-多模态大模型量化 微调与量化如何协同最大化性能与效率?
  • opencv学习(图像梯度)
  • 像素、视野、光源,都有哪些因素影响测量精度?
  • 【数据结构】栈和队列的实现
  • 【Java EE初阶 --- 网络原理】传输层---UDP/TCP协议
  • Spring boot Grafana优秀的监控模板
  • C++:list(2)list的模拟实现
  • 高并发微服务限流算法方案对比与实践指南
  • 【音视频协议篇】WebRTC 快速入门
  • 嵌入式——C语言:指针②