質問: mysqlデータファイルを別のパーティションに移動する方法 ハードドライブを2つのパーティションに分割しているため、ubuntuを簡単に再インストールして、ホームディレクトリのデータを失うことなく異なるバージョンを試すことができます。次のようなセットアップです。20gb -> / (root) 180gb -> /home 私は多くの開発作業を行っているため、/var/wwwフォルダーを/home/valorin/workspaceにシンボリックリンクしています。しかし、mysqlデータファイルでもこれを行いたいと思っています。マシンを再インストールするたびに、完全なsqldumpを実行してから、さらに作業を行う前にすべてのdbを復元する必要があることに悩まされています。mysqlを壊さずにこれを行う最良の方法は何ですか?
回答: スーパーユーザーには、この問題を解決する方法についての手順ごとの素敵な手順があります 同じことを行うための別の命令セットがあります http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html ここに再投稿されます。スーパーユーザーにできる場合は、オリジナルに投票してください。パーミッションに関する一般的な混乱の後、問題はパーミッションとパスが正しくないことではなく、apparmorがmysqlによる新しい場所への読み書きを妨げていることに気づきました。これは私の解決策です:まず、mysqlを停止して、いじっている間に奇妙なことが起こらないようにします。$ sudo stop mysql 次に、すべてのデータベースディレクトリを新しいホームに移動します。$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/ ファイルは移動しないでください。ファイルはmysqlによって生成され、フォルダー(データベース)を移動するだけです。次に、mysqlが新しいフォルダーを使用できるようにapparmorに丁寧に依頼します。$ sudo vim /etc/apparmor.d/usr.sbin.mysqld 行を追加します。/new-mysql-dir/ r, /new-mysql-dir/** rwk, 次に、mydirにdatadirが移動したことを伝えます。$ sudo vim /etc/mysql/my.cnf 行を変更します。datadir=/var/lib/mysql に:datadir=/my-new-db-dir/ 注:データベースのセットアップによっては、innodb-data-home-dirなども変更する必要がある場合があります。次に、apparmorを再起動して新しい設定を読み取ります。$ sudo /etc/init.d/apparmor restart そして、新しいdatadirを使用してmysqlを再度起動します。$ sudo start mysql お役に立てれば!