Linux中更改转移mysql数据库目录的步骤

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

前几天发现由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,只能想办法转移数据的目录。网上有很多相关的文章写到转移数据库目录的文章,但转载的过程中还会有一些错误,因为大部分人根本就没测试过,这篇文章是本文测试过整理好后分享给大家。

本文是简单整理一下这几天把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql下面具体操作。

首先我们需要关闭MySQL,命令如下:

1
#service mysqld stop

网上有很多人都是用的mysqladmin -u root -p shutdown,不过我这个是系统安装的是kloxo面板,root密码并不知道,虽然可以重置,但是比较麻烦。

然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到mysql的原目录

1
2
#cd /var/lib
#ls

运行这个命令之后就会看到mysql的目录了,然后执行cp命令

1
#cp -a mysql /home/mysql_data/

这样就把数据库复制到/home/mysql_data下面去了,注意-a这个参数一定要带着,否则复制过去的权限就不对了。如果数据库比较大的话,时间会比较长,可能会超时。

然后我们修改配置文件,一共有三个,下面我一一说明:

1
#vi /etc/my.cnf

打开之后修改datadir的目录为/home/mysql_data/mysql,把socket改成/home/mysql_data/mysql/mysql.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。

1
#vi /etc/init.d/mysqld

准确的位置是/etc/rc.d/init.d/mysqld,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,所以用上面的命令即可,也简单。

这里主要也是修改datadir的目录为/home/mysql_data/mysql

1
#vi /usr/bin/mysqld_safe

这里也是修改datadir的目录

下面需要建立一个mysql.sock的链接:

1
#ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

至此所有的修改都完成了,下面启动mysql

1
#service mysqld start

或者重启Linux

1
#reboot

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。









      本文转自灬落魄灬  51CTO博客,原文链接:http://blog.51cto.com/smoke520/1894885,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15小时前
|
SQL 关系型数据库 MySQL
Linux对MySQL语法校验
【5月更文挑战第4天】
|
1天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
10 3
|
2天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
3天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
3天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
6天前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
32 5
|
7天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
|
1天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
17 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
3天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
10 0
|
3天前
|
关系型数据库 MySQL 数据库连接
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections
用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections