質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

3178閲覧

外部HDDへのMysqlデータベース移行におけるsocketエラー

ktux_s

総合スコア12

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2018/01/11 12:14

やりたいこと

Rasberry Pi 3にインストールしたMysql(mariaDB)のデータベースディレクトリを外付けHDDに移行することを考えています。
現状はデフォルトの設定で、以下のディレクトリにデータベースファイルがあります。
/var/lib/mysql
このディレクトリを次の外付けHDDディレクトリへの移行を試みています。
/media/pi/mysqldb
/media/pi/mysqldbはfstabに以下の記述をすることでマウントしています。
/dev/sda5 /media/pi/mysqldb ext4 defaults 0 0

デフォルトのファイル構成をあまりいじりたくないのでシンボリックリンクによる移行が一番簡単かと思い、次のコマンドを実行し、移行を行いました。

pi@raspberrypi:/var/lib $ sudo systemctl stop mysql.service pi@raspberrypi:/var/lib $ sudo mv /var/lib/mysql /media/pi/mysqldb pi@raspberrypi:/var/lib $ ln -s /media/pi/mysqldb/mysql mysql pi@raspberrypi:/var/lib $ sudo systemctl start mysql.service

するとうまく起動しなくなり、エラーが発生します。

pi@raspberrypi:/var/lib $ journalctl 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] /usr/sbin/mysqld (mysqld 10.0.28-MariaDB-2+b1) starting as process 19578 ... 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] mysqld: Can't create/write to file '/media/pi/mysqldb/mysql/aria_log_control' (Errcode: 13 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] mysqld: Got error 'Can't create file' when trying to use aria control file '/media/pi/mysqld 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] Plugin 'Aria' init function returned error. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Using mutexes to ref count buffer pool pages 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: The InnoDB memory heap is disabled 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Compressed tables use zlib 1.2.8 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Using Linux native AIO 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Not using CPU crc32 instructions 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Initializing buffer pool, size = 128.0M 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Completed initialization of buffer pool 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Highest supported file format is Barracuda. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: 128 rollback segment(s) are active. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Waiting for purge to start 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.32-79.0 started; log sequence number 1 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] Plugin 'FEEDBACK' is disabled. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] Aria engine is not enabled or did not start. The Aria engine must be enabled to continue a 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [ERROR] Aborting 1月 11 19:16:15 raspberrypi mysqld[19579]: 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: FTS optimize thread exiting. 1月 11 19:16:15 raspberrypi mysqld[19579]: 180111 19:16:15 [Note] InnoDB: Starting shutdown... 1月 11 19:16:17 raspberrypi mysqld[19579]: 180111 19:16:17 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool 1月 11 19:16:18 raspberrypi mysqld[19579]: 180111 19:16:18 [Note] InnoDB: Shutdown completed; log sequence number 18054965 1月 11 19:16:18 raspberrypi mysqld[19579]: 180111 19:16:18 [Note] /usr/sbin/mysqld: Shutdown complete 1月 11 19:16:18 raspberrypi mysqld[19579]: 1月 11 19:16:18 raspberrypi mysqld_safe[19630]: mysqld from pid file /var/run/mysqld/mysqld.pid ended 1月 11 19:16:46 raspberrypi /etc/init.d/mysql[19883]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in 1月 11 19:16:46 raspberrypi /etc/init.d/mysql[19883]: [61B blob data] 1月 11 19:16:46 raspberrypi /etc/init.d/mysql[19883]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such fi 1月 11 19:16:46 raspberrypi /etc/init.d/mysql[19883]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists! 1月 11 19:16:46 raspberrypi /etc/init.d/mysql[19883]: 1月 11 19:16:46 raspberrypi mysql[19406]: Starting MariaDB database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed! 1月 11 19:16:46 raspberrypi sudo[19400]: pam_unix(sudo:session): session closed for user root 1月 11 19:16:46 raspberrypi systemd[1]: mysql.service: Control process exited, code=exited status=1 1月 11 19:16:46 raspberrypi systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.

socketファイルがうまく生成されていないようですが、起動時に読み込まれると考えられるcnfファイルは/etc/mysqld/mariadb.conf.d/50-server.cnfで

. . . [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking . . .

となっているため、socketの生成にはあまり関係してないように思われます。
シンボリックリンク作成前ではmysql起動時に/var/run/mysqldにmysqld.sockとmysqld.pidが生成されていましたが、リンク作成後は生成されなくなりました。
なおtouch mysqld.sockとしてsocketファイルを作成した場合のエラーは

1月 11 20:57:27 raspberrypi /etc/init.d/mysql[21906]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused")'

となっています。
どのようにすればmysqlのデータベースを外付けHDDに移行できるのでしょうか?

仕様

  • OS
pi@raspberrypi:~ $ lsb_release -a Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.3 (stretch) Release: 9.3 Codename: stretch
  • パーミッション
pi@raspberrypi:/media/pi $ ls -l drwxrwxrwx 3 mysql mysql 4096 1月 10 17:07 mysql pi@raspberrypi:/media/pi $ ls -l | grep mysql lrwxrwxrwx 1 mysql myaql 23 1月 6 13:02 mysql -> /media/pi/mysqldb/mysql/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

つchmod a+rX /media /media/pi /media/pi/mysqldb

投稿2018/01/11 14:58

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ktux_s

2018/01/11 15:17

以上のコマンドを実行したところmysqlがうまく起動できました。 /media /media/piには他のディレクトリやファイルも存在しているため、マウントポイントを変更して試してみようと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問