Starting MySQL...Manager of pid-file quit without updating [FAILED]
調べてみると、SELinuxがらみ。適切なSELinuxのポリシー設定がされていないみたい。
特にユーザやプロセスごとに権限管理する必要もなく、
今まで通りrootはrootでいてくれればいいので、SELinuxは後々勉強するとして今は必要なし。
SELinuxの機能を停止して、無効にしてみる。
ポリシー違反を許可する。
/usr/sbin/setenforce permissive
ちなみに、SELinuxがどのモードで動いているか確認。Enforcingモードだと、アクセス制御が動作してる状態。
/usr/sbin/getenforce Permissive
モードについて、調べてみた。
permissiveモードとenforcingモードの違いSELinuxは,「enforcingモード」と「permissiveモード」という2種類のモードを持つ。
enforcingは,通常運用時のSELinuxのモード,つまり,「SELinuxによるアクセス制御が有効になった状態」のモードである。このモードではアクセス制御が働くため,きちんと設定されていないアプリケーションは動作しない。アプリケーションを起動しようとしても,アクセスが拒否されたことがログに記録されるだけで,何も起こらないわけだ。一方,permissiveは,(例え設定が不十分であっても)一切アクセス拒否されずに,言い換えれば通常のLinuxと同じようにアプリケーションは動作する。ただし,本来はアクセスが拒否されるべきであり,その事実はログに記録される。つまり,アクセスが拒否されたことはログに記録されるが,アプリケーションは普通に動作する。
このpermissiveモードは,アプリケーションの設定を施していく際に用いられる。セキュリティ管理者は,ログに記録された「足りない権限」を設定に追加しながら,アプリケーションのアクセス制御の設定を詰めていくことになる。また,システムに障害が発生したときの原因究明にも用いられる。
Permissiveモードでも、SELinuxが動作してることには変わらないので、いっそ無効にする。
6行目をSELINUX=disabledに修正。
再起動後、有効に。
vi /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. #SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted # SETLOCALDEFS= Check local definition changes SETLOCALDEFS=0