如何在CentOS 7上将MySQL数据目录改为新位置

作者:无名 - 电脑 -

介绍

本教程将指导你重新定位mysql目录。

前提条件

要完成本指南,你需要:

sudo权限的centos 7服务器,并且安装了mysql ,

在本例中,我们数据移动到/mnt/volume-nyc1-01上的块存储设备,

无论使用什么底层存储,本指南都可以帮助你将数据目录移动到新位置。

步骤1移动mysql数据目录

为了准备移动mysql目录数据,启动交互式的mysql会话来验证当前位置。

mysql -u root -p

出现提示时,提供mysql root密码,然后从mysql提示符中选择数据目录:

select @@datadir;

output+-----------------+

| @@datadir |

+-----------------+

| /var/lib/mysql/ |

+-----------------+

1 row in set (0.00 sec)

这个输出确认mysql数据目录为/var/lib/mysql/,这是我们需要移动的目录,确认此选项后,键入exit,并且按"回车"键退出:

exit

为了确保数据的完整性,在实际更改数据目录之前,我们关闭mysql :

sudo systemctl stop mysqld

systemctl不显示所有服务管理命令的结果,因此如果你想确保已成功停止mysql,请使用以下命令:

sudo systemctl status mysqld

如果输出的最后一行告诉你服务器已停止,则可以确定它已关闭:

output. . .

jul 18 11:24:20 ubuntu-512mb-nyc1-01 systemd[1]: stopped mysql community server.

服务器已经关闭,我们把现有的数据库目录复制到新的位置,在使用-a标志时,保留权限和其他目录属性,而-v提供详细输出。

sudo rsync -av /var/lib/mysql /mnt/volume-nyc1-01

一旦rsync完成,用.bak扩展重命名当前文件夹,并且保持它直到我们确认移动成功,

sudo mv /var/lib/mysql /var/lib/mysql.bak

步骤2指向新的数据位置

mysql有几种替代配置值的方法,默认情况下,datadir/etc/my.cnf文件中设置,编辑此文件以反映新的数据目录:

sudo vi /etc/my.cnf

/etc/my.cnf

[mysqld]

. . .

datadir=/mnt/volume-nyc1-01/mysql

socket=/mnt/volume-nyc1-01/mysql/mysql.sock

. . .

/etc/my.cnf

[client]

port=3306

socket=/mnt/volume-nyc1-01/mysql/mysql.sock

完成后,按esc键,然后键入:wq保存,并且退出文件!

第3步重启mysql

现在我们已经更新了配置,以便使用新位置,我们已经准备好启动mysql,并且验证我们的工作。

sudo systemctl start mysqld

sudo systemctl status mysqld

要确保新的数据目录确实正在使用中,请启动mysql监视器。

mysql -u root -p

再次查看数据目录的值:

select @@datadir;

output+----------------------------+

| @@datadir |

+----------------------------+

| /mnt/volume-nyc1-01/mysql/ |

+----------------------------+

1 row in set (0.01 sec)

验证现有数据的完整性后,就可以删除备份数据目录,方法是,sudo rm -rf /var/lib/mysql.bak

结束语

有关管理mysql目录数据的更多信息,请参见官方mysql文档中的这些部分:

mysql数据目录



文章标签:数据dirloc本地centos

正文

IT人知识库 原文地址:http://www.itpeo.net/389619/4639418.html





如何在CentOS 7上使用FileRun共享文件

介绍filerun是一个php文件管理器和文件共享应用程序,帮助你访问,组织,查看和编辑文件,在本教程中,我们在cent ...

如何在ubuntu 16.04服务器上安装python 3,并且设置编程环境

介绍本教程将使用python3编程环境设置ubuntu16.04或debian8服务器,在服务器上编程有许多优点,使得团 ...

在FreeBSD 11.0上,如何安装Git

介绍版本控制系统是现代软件开发中不可或缺的工具,它们允许你在源级别跟踪你的软件,可以跟踪更改,恢复到前一个阶段,以及分支 ...

如何使用python 3和Tweepy库创建Twitterbot

介绍twitterbot是一个与twitter平台集成的程序,可以自动发布、转发、关注或跟踪其他用户。在创建twitte ...

如何在Ubuntu 16.04上使用Netdata设置实时性能监控

介绍netdata通过可扩展的web仪表板提供精确的性能监控,可以可视化linux系统上的进程和服务,它监视关于cpu, ...

在 12.04年,声音声音突然停止工作

问题:我的音频已经在 xubuntu 12.04年后正常工作。 在访问以下网站之后,安装音频浏览器应用程序以上传语音示例 ...

apt如何在不删除它的受抚养人的情况下降级软件包?

问题:我有一些台式软件,我已经升级到一个ipqos版本,之前清理,以便我可以升级我的系统。 版本中的差异是次要的( 技术 ...

12.04 Deja dup保留它的配置文件?

问题:deja (。现在ubuntu备份) 只是一个duplicity的gui,因此它应该将配置文件存储在某个地方。 我 ...

用于联想Thinkpad瑜珈的Ubuntu系统安装状态

问题:因为我想买一个联想thinkpad瑜珈 14,所以我必须用它来工作,我得把它分区,然后安装 ubuntu。为此,我 ...

rfedfre

命令行 如何重置终端的颜色?

问题:救命不知为什么我的终端看起来像这样: !阅读文本几乎是不可能的。 如何在不退出终端的情况下修复它?回答 1:这个问 ...

如何在Debian上为Django应用程序提供Uwsgi和Nginx服务

介绍django包括一个简化的开发服务器,用于在本地测试代码,但是需要更加安全和强大的web服务器。在本指南中,我们演示 ...

rfedfre

软件推荐有什么替代Nautilus的方法?

问题:nautilus有什么好的替代方案? 我正在寻找一些轻量级的,带有清晰界面的东西,但是手工输入文件路径的能力仍然很 ...

启动"正在等待网络配置"将 3添加到 5分钟以启动时间

问题:在启动时我得到以下信息 fragment,大约 3至 5分钟,通常为 1分钟:waiting network co ...

登录时,如何设置 Xmodmap?

问题:由于我的键盘布局不适合我,我在登录时运行 xmodmap。 脚本名为 .profile,运行良好,但它打破了统一接 ...

在 ubuntu 14.04中,触摸板如何实现 多点触摸 手势

问题:有可能在 ubuntu 14.04中获得多点触摸手势? 如果可能,如何激活或者安装 多点触摸 手势? 我的笔记本电 ...

rfedfre

双引导针对多个Linux发行版的通用/home 分区

问题:我在一个分区里安装了一个 ubuntu,另一个是 debian,现在我正计划安装回溯和 suse。 debian在 ...

root@localhost连接的服务器权限被拒绝

问题:我刚刚安装了 ubuntu 14.04和 lamp。 然后,我想配置我的服务器,所以尝试了本教程。当我给出命令时: ...

安装 root 文件系统 时我应该做什么?

问题:我的/文件夹正在读取,无法更新软件或者执行任何操作。不确定我在这里做了什么。$ df -hresults:file ...

udev如何区分相同的USB和串行适配器?

问题:我使用了许多相同的usb-to-serial适配器和我的笔记本电脑( 9.10 )。 适配器由sabrent制造, ...

apt我如何做系统恢复?

问题:我遇到的问题我安装了一些使我的wifi驱动崩溃的东西。不安装相同的软件包没有帮助。最后,我编译了我的wifi驱动程 ...