Ubuntu 14 LTS 下修改 MSYQL 的 Data 目录

说明

PHPHub 服务器使用了 MYSQL,最近硬盘吃紧。刚刚换了一块硬盘,把 MSYQL 的 Data 目录迁移到新磁盘上,此文章为完整的记录。

前提

  1. Ubuntu 14 LTS
  2. MySQL Server version: 5.5.49

一. 停掉服务器

stop mysql

二. 迁移 Data 文件夹

rsync -av /var/lib/mysql /data

参数详解:

  • -a 保留权限和前提文件夹属性;
  • -v 详细信息输出。

完成后能看到 /data 文件夹下多出来了 mysql 文件夹。

三. 重命名 /var/lib/mysql

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

后面第五步会用到。

四. 修改 my.cnf 配置

修改

vi /etc/mysql/my.cnf

文件的

datadir=/data/mysql

五. 修改 AppArmor alias

修改

vi /etc/apparmor.d/tunables/alias

最后面添加一行

alias /var/lib/mysql/ -> /data/mysql/,

重新加载

/etc/init.d/apparmor reload

请注意不要跳过 AppArmor 。

六. 准备启动 MySQL

mkdir /var/lib/mysql/mysql -p

上面命令是必须执行的,mysql-systemd-start 启动脚本会检查 /var/lib/mysql/mysql 是否存在,否则会报错。

七. 启动 MySQL 并检查

start mysql

检查是否成功

$ mysql -u root -p

输入密码,登录 MySQL 后执行:

mysql> select @@datadir;
+--------------+
| @@datadir    |
+--------------+
| /data/mysql/ |
+--------------+
1 row in set (0.00 sec)

全文完
Summer

本文章首发在 Laravel China 社区

Practice makes perfect.