MySQL 在 Ubuntu 根文件系统中使用空间,如何更改为使用

标签 mysql linux ubuntu

我在 Ubuntu Server 15.10 上使用 MySQL。

我已经使用 sudo apt-get install mysql-server 安装了 MySQL,并且我正在以 -u root -h localhost 的身份登录 MySQL

我遇到的问题是,当我向表中添加数据时,这会使用 /dev/root 文件系统中的空间。由于空间有限,我需要 MySQL 服务器将内容存储在 /dev/md3 文件系统中。 /dev/md3/home/user 文件夹中的文件使用的文件系统。我附上了一张图片来展示不同文件系统的样子,通过输入命令 df 生成。

Image of the filesystems (df command).

我有一个向表中添加行的脚本。当我运行此脚本时,/dev/root 文件系统中的 1k block 数量减少,而 /dev/md3 文件系统的可用 1k block 数量保持不变。

我需要 MySQL 使用在 /dev/md3 而不是 /dev/root 中找到的空间。这是因为大部分硬盘空间位于 /dev/md3 中。我该怎么做?

到目前为止我尝试过的事情:

  • 将配置设置更改为 datadir =/home/user/mysql 并重新启动 MySQL。我给了目录 777 权限。
  • 将配置设置更改为 innodb_data_home_dir =/home/user/mysql 并重新启动 MySQL。我给了目录 777 权限。

这两种尝试都没有产生任何结果。任何帮助将不胜感激。

谢谢

最佳答案

确保你一步一步执行以下步骤

1.) 停止 mysql 服务器:sudo/etc/init.d/mysql stop

2.) 然后将现有的mysql数据文件复制到新位置:sudo cp -R -p/var/lib/mysql/home/user/mysql

3.) 添加一个 apparmor 别名:编辑 nano/etc/apparmor.d/tunables/alias 添加一行 alias/var/lib/mysql/->/home/user/mysql

3.1.) 重新加载 apparmor:sudo/etc/init.d/apparmor reload

4.) 编辑 datadir 变量 nano/etc/mysql/my.cnf 并将其更改为新位置:datadir=/home/user/mysql

5.) 重启mysql服务器:sudo/etc/init.d/mysql restart

关于MySQL 在 Ubuntu 根文件系统中使用空间,如何更改为使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34222364/

相关文章:

php - 写入数据库,并在同一个 PHP 页面加载中检索更新的数据?

mysql - 一个表中的变量在另一个表中不存在

java - 我正在尝试在Java中使用mysql制作注册表格,这给了我一个错误

linux - 如何在 Ubuntu 上运行 Kotlin?

linux - systemtap的内部结构

c++ - 将套接字重新绑定(bind)到不同的接口(interface)

ubuntu - H2 数据库不会在 KUbuntu 18.04 上打开浏览器页面

linux - Ubuntu 12.10 风扇超速

PHP 获取 URL 错误

node.js - 如何在 Ubuntu 中完全卸载 nodejs、npm 和 node