私は、サーバーの 1 つに MySQL をインストールしようとしています。私は でありec2-user
、ホーム ディレクトリにインストールしようとしていますec2-user
が、ユーザーにディレクトリへのアクセスを許可していますmysql
。
ただし、最初にログインするとmysql
ディレクトリにアクセスできますが、離れるとディレクトリに戻る方法が見つかりません。
-bash-4.1$ whoami
mysql
-bash-4.1$ ls
bin COPYING data docs include INSTALL-BINARY lib man my.cnf my-new.cnf mysql-5.6.24-linux-glibc2.5-x86_64 mysql-test README scripts share sql-bench support-files
-bash-4.1$ pwd
/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
-bash-4.1$ ls -l /usr/local
total 44
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 bin
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 etc
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 games
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 include
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 lib
drwxr-xr-x 3 mysql mysql 4096 Oct 8 2014 lib64
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 libexec
lrwxrwxrwx 1 mysql mysql 69 Apr 18 13:27 mysql -> /home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 sbin
drwxr-xr-x 6 mysql mysql 4096 Oct 8 2014 share
drwxr-xr-x 2 mysql mysql 4096 Jan 6 2012 src
-bash-4.1$ cd /usr/local/mysql
-bash: cd: /usr/local/mysql: Permission denied
何が間違っているのでしょうか? インストール全体をユーザーとして実行する必要がありますかmysql
?
答え1
/usr/local/mysql
は にリンクしており/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
、リンク自体にはデフォルトのリンク権限がありますが、 の権限が何であるかはまだわかりません/home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
。これが問題の原因であると思われます。
の出力は何でしょうかls -la /home/ec2-user/install/mysql-5.6.24-linux-glibc2.5-x86_64
? で表されたエントリが、.
私たちが興味を持っているものです。私は以下のいずれかを考えています:
- 所有者(およびグループ)が正しくありません。この場合、mysql プロセスが実行されるときに設定される必要があります。
mysql
- 権限が正しくありません。さまざまな可能性がありますが、700 であるべきだと思います (所有者は何でもできますが、他のユーザーはそれに触れることはできません)
- 上記2つの組み合わせ。