我在 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/