ubuntu下修改mysql默认data路径

首先,建立一个新的数据存储路径:执行命令`sudo mkdir -p /data/mysql`,创建`/data/mysql`目录。接着,将原有数据复制到新路径下:执行命令`sudo cp -R /var/lib/mysql/* /data/mysql`,将数据从旧路径复制到新路径。然后,修改新路径的权限:使用命令`sudo chown -R mysql:mysql /data/mys...
ubuntu下修改mysql默认data路径
在Ubuntu系统中,如果想要修改MySQL默认的数据存储路径,可以通过以下步骤实现:

首先,建立一个新的数据存储路径:

执行命令`sudo mkdir -p /data/mysql`,创建`/data/mysql`目录。

接着,将原有数据复制到新路径下:

执行命令`sudo cp -R /var/lib/mysql/* /data/mysql`,将数据从旧路径复制到新路径。

然后,修改新路径的权限:

使用命令`sudo chown -R mysql:mysql /data/mysql`,确保MySQL服务拥有正确的访问权限。

接着,打开MySQL配置文件:

执行`sudo vim /etc/mysql/my.cnf`,定位并注释原有的`datadir = /var/lib/mysql`行。

在同文件中添加新的数据存储路径:

插入`datadir = /data/mysql`,将MySQL数据存储切换至新路径。

需要注意的是,修改MySQL配置文件后,仅重启MySQL服务可能不足以完成路径切换。因为Ubuntu系统中存在一个访问控制系统APPARMOR,它限制了MySQL服务对特定路径的访问。

因此,还需要修改APPARMOR规则:

执行`sudo vim /etc/apparmor.d/usr.sbin.mysqld`,在文件中查找并注释原有的`/var/lib/mysql`相关访问权限设置。

接着,新增对`/data/mysql`的读写访问权限:

添加`/data/mysql r,/data/mysql/** rwk,`,允许MySQL服务在新路径下进行读写操作。

随后,修改MySQL抽象访问控制文件:

执行`sudo vim /etc/apparmor.d/abstractions/mysql`,注释掉原有`/var/lib/mysql/mysql.sock`的访问权限设置。

新增`/data/mysql/mysql.sock rw`,允许MySQL服务访问新路径下的`mysql.sock`文件。

完成以上步骤后,重启APPARMOR和MySQL服务:

执行`sudo /etc/init.d/apparmor restart`和`sudo /etc/init.d/mysql restart`,确保系统更新配置。

至此,MySQL默认数据路径已成功切换至`/data/mysql`,数据读写操作均通过新路径进行,确保了数据存储的安全性和高效性。2024-09-19
mengvlog 阅读 54 次 更新于 2025-12-15 05:42:43 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部