2016-08-12 11 views
0

私はUbuntuの16.04でMariadb 10.1.16をインストールしましたが、デフォルトのデータディレクトリはスペース不足のため適切ではないと私は別のボリュームに移動する必要があります。私は何をする必要がありますどのようなmariadb移動システムデータベースを新しい場所に

[client] 
# Default is Latin1, if you need UTF-8 set this (also in server section) 
default-character-set = utf8 

[mysqld] 
# 
# * Character sets 
# 
# Default is Latin1, if you need UTF-8 set all this (also in client section) 
# 
character-set-server = utf8 
collation-server  = utf8_general_ci 
character_set_server = utf8 
collation_server  = utf8_general_ci 
datadir    = /BulkData/Mariadb 

:私の設定ファイルがある

ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140584295778560 [Note] Plugin 'FEEDBACK' is disabled. 
ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140583574173440 [Note] InnoDB: Dumping buffer pool(s) not yet started 
ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140584295778560 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded 
ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140584295778560 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 
ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140584295778560 [Note] Server socket created on IP: '::'. 
ago 12 08:27:40 aristotle mysqld[13786]: 2016-08-12 8:27:40 140584295778560 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't 
ago 12 08:27:40 aristotle systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE 
ago 12 08:27:40 aristotle systemd[1]: Failed to start MariaDB database server. 
ago 12 08:27:40 aristotle systemd[1]: mariadb.service: Unit entered failed state. 
ago 12 08:27:40 aristotle systemd[1]: mariadb.service: Failed with result 'exit-code'. 

:私は私のmysql.cnfファイルにdatadirエントリを追加したが、私はMySQLサービスをロードしようとすると、私は次のような結果を得ます私のデータベースを別のボリュームに置くことはできますか?

+0

あなたが行うことができます。ln -s /usr/lib/mysql /var/lib/mysql

  • スタートサービス:mv /var/lib/mysql /usr/lib/mysql

  • がシンボリックリンクを作成します。より単純なもの... MariaDBサービスを停止し、/ var/lib/mysqlから新しい場所にコンテンツをコピーしてから、/ var/lib/mysqlから新しい場所へのシンボリックリンクを作成してから、サービス...このようなもの:http://unix.stackexchange.com/questions/80515/using-symbolic-link-on-directory-with-coコメント – Hackerman

  • +0

    あなたのコメントを回答にすると、私はそれを受け入れることができます。私はそれが合理的であるとの兆候なしに外的な解決策を試すことに消極的でした。 – Jonathan

    +0

    Okジョナサン、私は助けてうれしいです:) – Hackerman

    答えて

    1

    この場合、パーティションサイズ(root)を増やすか、別のディレクトリにコピーしてsymbolic linkを作成する2つの方法があります。最初のオプションはより自然なようですが、あなたがシステム全体を危険にさらすかもしれない何か間違っているとすれば。 2番目は私の選択です。なぜなら、それはリスクにあまり関与していないからです。あなたが本当に最初のものと一緒に行きたい場合は、このリンクをチェックすることができます。http://www.hiroom2.com/2016/05/19/ubuntu-16-04-extend-and-reduce-lvm-root-filesystem/

    2番目のオプションと一緒に行きたい場合は、あなただけ行う必要があります。

    • は、先のパーティション(多くを特定します)空間を、コマンドを実行:service mysql stop

    • は、フォルダを移動します(I:先のパーティションがチェックされたらdf -h

    • を、そしてMySQLserviceを停止tはコピーしてそれを削除するよりも短いですが、また、あなたは)権限をチェックする必要はありません。service mysql start

    +0

    私のために、シンボリックリンクのオプションは、常に動作しません。この状況に踏み込むと、私はバインドマウントを提案します。 – sourcx

    関連する問題