Linux centos 变更MySQL数据存储路径

Linux centos 变更MySQL数据存储路径

登录mysql,查看数据存储路径

bash 复制代码
mysql -u root -p
bash 复制代码
show global variables like "%datadir%";

创建新目录

查看磁盘空间

bash 复制代码
df -h

选取最大磁盘,此处以/data目录为例,创建mysql数据存储的新目录:new_mysql_data

bash 复制代码
cd /data
bash 复制代码
mkdir new_mysql_data
bash 复制代码
cd new_mysql_data
bash 复制代码
pwd

准备迁移数据

停止mysql运行

bash 复制代码
systemctl stop mysql

复制原存储数据到新存储目录(如果原库数据较大,此过程执行较长,请耐心等待完成)

bash 复制代码
cp -a -r /app/mysql/data/* /data/new_mysql_data

mysql授权

bash 复制代码
chown -R mysql:mysql /data/new_mysql_data

修改MySQL配置文件

bash 复制代码
vi /etc/my.cnf

按键盘i键进入编辑状态,注释datadir 原路径配置,配置新路径:

bash 复制代码
datadir = /data/new_mysql_data

注:如果MySQL配置文件中涉及原数据目录指向的,均要修改为新目录,最好使用notepad++打开配置文件,全局搜索一下原数据目录/app/mysql/data有哪些涉及,比如

bash 复制代码
# datadir = /app/mysql/data
datadir = /data/new_mysql_data
# log-error=/app/mysql/data/master.err
log-error=/data/new_mysql_data/master.err
# pid-file=/app/mysql/data/master.pid
pid-file=/data/new_mysql_data/master.pid

按键盘esc键,输入:eq!保存并退出编辑

检查是否配置成功

启动mysql,登录数据库,再次查看数据路径

bash 复制代码
systemctl start mysql

创建测试数据库,进入目录,发现数据已在新目录成功创建,说明迁移全部成功完成

bash 复制代码
CREATE DATABASE database_temp;

新开连接窗口或者退出mysql,前往目录,无异常则说明配置成功

bash 复制代码
cd /data/new_mysql_data/database_temp/

验证完成,删除测试数据库

bash 复制代码
DROP DATABASE database_temp;

退出数据库

bash 复制代码
quit;

重启数据库,再次检查无误,则可以删掉原数据目录的占用

bash 复制代码
systemctl restart mysql

至此完成;

相关推荐
嵌入式分享4 小时前
驱动之路#44:硬件 I2C 和软件 I2C 谁更坑?
linux·嵌入式硬件
不会就选b4 小时前
Linux之再次理解udp
linux·运维·udp
guo_wen_qiang5 小时前
云服务器kibana环境搭建
linux·运维·服务器
酷虎软件5 小时前
视频加标题字幕 API 接口文档
java·数据库·mysql
夜雪一千5 小时前
MySQL 触发器有哪些应用场景?从入门场景到避坑实战
数据库·mysql
流浪0015 小时前
Linux系统篇42——线程(七) pthread库管理线程的工作流,从创建到回收
linux·操作系统·线程·线程创建到销毁
Dragon~Snow5 小时前
Linux server CentOS stream 10系统构建
linux·运维·centos
霞姐聊IT5 小时前
服务器RAS软件开发经验分享——从Linux、BMC与BIOS三个层面谈工程实践(二)
linux·服务器
IT毕设梦工厂6 小时前
计算机毕业设计选题推荐:基于大数据的培训机构信息分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·mysql·数据挖掘·数据分析·spark·课程设计
高山有多高6 小时前
【Linux笔记】Linux磁盘文件系统
linux