MySQL を使い始めた時にはあまり深く考えずにデフォルトインストールしてデフォルト設定で使い始めて、使っているうちにディスクが足りなくなってきた(或いは「このままだとディスクが足りなくなる」)という人向けの情報です。

要は MySQL の運用開始後に充分な容量を持つディスクドライブ(あるいはファイルシステム)にデータディレクトリを引越しする手順、の紹介です。OS は CentOS を前提とし、細かいコマンドは異なりますが、考え方は同じです。

データディレクトリを引っ越す場合、何はともあれ MySQL サーバーを停止します:
# service mysqld stop

次に my.cnf ファイル(CentOS であれば /etc/my.cnf)をテキストエディタで編集して、新しいデータディレクトリを指定します。データディレクトリは [mysqld] 内の datadir で指定します(この例では /var/lib/mysql をコメントして /data/mysql を指定しています):
[mysqld]
#datadir=/var/lib/mysql datadir=/data/mysql : :

そして、旧データディレクトリ(/var/lib/mysql)をオーナーやパーミッション等を保持したままディレクトリごと新データディレクトリ(/data/mysql)にコピーします:
# cd /data
# cp -r -p /var/lib/mysql ./

引越作業そのものはこれで完了です。止めていた MySQL サーバーを起動します:
# service mysqld start

確認のため管理者ユーザー(root)権限で MySQL サーバーにログインし、datadir 変数の値が新しいものに変わっていることを確認します:
# mysql -u root -p
  :
  :
mysql> show variables like 'datadir'; +---------------+--------------+ | Variable_name | Value | +---------------+--------------+ | datadir | /data/mysql/ | +---------------+--------------+ 1 row in set (0.00 sec)

ここまで確認できていれば、特に不要であれば旧データディレクトリは削除してもかまいません:
# rm -rf /var/lib/mysql

引越完了!