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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

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

Q&A

解決済

1回答

1435閲覧

外付けHDDにmysqlのdatadirを作りたい

tesopgmh

総合スコア146

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

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

1グッド

2クリップ

投稿2018/04/19 08:13

編集2018/04/19 08:15

OS:CentOS6.7
MySQL: 上記OSで標準リポジトリのyumでインストールできるもの(起動しないのでバージョンが見られずすみません。。)
HDD:2TB

外付けHDDにmysqlのdatadirを作りたいのですが
HDDのフォーマットをext4で完了し、適宜マウントをして
OS側ではファイルの生成削除も出来るように致しました
具体的なfstabの設定は以下の通りです

/dev/sdb1 /var/lib/mysql ext4 defaults,uid=mysql,gid=mysql,mode=0755 0 0
# mount -a

OSから書き込みも読み込みもできるので
/var/lib/mysqlのマウントには成功していると思います

mysqlのmy.cnfはデフォルトのまま
この時点ではまだ一度も起動していない状態です

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

そしてmysqlを起動すると

service mysqld start MySQL Daemon failed to start. mysqld を起動中: [失敗]

ログファイルを確認すると

180419 16:55:25 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 180419 16:55:25 [Warning] Can't create test file /var/lib/mysql/kvm.lower-test 180419 16:55:25 [Warning] Can't create test file /var/lib/mysql/kvm.lower-test /usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist 180419 16:55:25 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 180419 16:55:25 InnoDB: Initializing buffer pool, size = 8.0M 180419 16:55:25 InnoDB: Completed initialization of buffer pool 180419 16:55:25 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'create'. InnoDB: Cannot continue operation. 180419 16:55:25 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

どうやら権限の問題で初期ファイルの生成に失敗しているっぽい?
/var/lib/mysqlフォルダのパーミッションを確認します

drwxr-xr-x. 5 mysql mysql 4096 4月 19 16:27 2018 mysql

権限は問題なさそうです

fstabの記述方式を変更してみる

cat /etc/passwd mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

mysqlは27番

/dev/sdb1 /var/lib/mysql ext4 defaults,uid=mysql,gid=mysql,mode=0755 0 0 ↓数値に変更 /dev/sdb1 /var/lib/mysql ext4 defaults,uid=27,gid=27,mode=0755 0 0

これでもだめ

chown -R mysql:mysql /var/lib/mysql chmod 0755 /var/lib/mysql

当然これもダメ

マウントちゃんとされてるか

df -Th /dev/sdb1 ext4 1.8T 196M 1.7T 1% /var/lib/mysql

されています。。。

mysqlの初期ファイルを初回起動ではなく明示的に作ってみる

mysql_upgrade -u root -p Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck with default connection arguments mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when trying to connect FATAL ERROR: Upgrade failed

当然作れない

マウント先を別のフォルダに移動してみる

my.cnf datadir=/mnt/usb-hdd-mysql socket=/mnt/usb-hdd-mysql/mysql.sock fstab /dev/sdb1 /mnt/usb-hdd-mysql ext4 defaults,uid=mysql,gid=mysql,mode=0755 0 0

だめ

755を777にしてみる

my.cnf datadir=/mnt/usb-hdd-mysql socket=/mnt/usb-hdd-mysql/mysql.sock fstab /dev/sdb1 /mnt/usb-hdd-mysql ext4 defaults,uid=mysql,gid=mysql,mode=0777 0 0

だめ

もう八方ふさがりとなりました

権限の問題っぽいのですが
外付けHDDにmysqlのdatadirの生成の仕方を分かる方がいましたら
ご教授頂ければと思います!

私の手順になにか不備がありましたらお教えくださいませ
ご確認よろしくお願い致します!

m.ts10806👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

シンボリックリンクでいけませんか?

投稿2018/04/19 08:48

yambejp

総合スコア114572

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

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

tesopgmh

2018/04/19 09:11

いけました。。。すごいです 権限系の謎のエラーにはシンボリックリンクですね 本当にありがとうございます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問