MySQL Community の yumリポジトリを追加して、MySQLをインストールしてみたけれども、
MySQLを起動する時に以下のエラーが発生する。
$ sudo /sbin/service mysqld start
chown: `mysql:mysql': ユーザ指定が不正
chown: `mysql:mysql': ユーザ指定が不正
MySQL データベースを初期化中: Use of uninitialized value in chown at /usr/bin/mysql_install_db line 706.
Use of uninitialized value in chown at /usr/bin/mysql_install_db line 706.
Use of uninitialized value in chown at /usr/bin/mysql_install_db line 706.
Use of uninitialized value in chown at /usr/bin/mysql_install_db line 706.
2015-10-11 23:56:22 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-10-11 23:56:22 0 [Note] /usr/sbin/mysqld (mysqld 5.6.27) starting as process 7245 ...
2015-10-11 23:56:22 7245 [ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists!
2015-10-11 23:56:22 7245 [ERROR] Aborting
2015-10-11 23:56:22 7245 [Note] Binlog end
2015-10-11 23:56:22 7245 [Note] /usr/sbin/mysqld: Shutdown complete
[失敗]
chown: `mysql:mysql': ユーザ指定が不正
mysql ユーザを作成してからインストールをすれば解決するのだが、根本解決のために、RPMを作りなおしてみる。
事前に以下の方法で環境は構築済みとする
src.rpm を取得して、インストールをする
command
$ cd ~
$ sudo yumdownloader --source mysql-5.6.27 --enablerepo=mysql-connectors-community-source
$ rpm -ivh ~/mysql-community-5.6.27-2.el5.src.rpm
SPECファイルを変更する
- useradd "-N" のオプションを削除する
- これが原因でユーザ追加に失敗をしているため
mysql.spec
627c627
< /usr/sbin/useradd -M -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
---
> /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
RPMを作成する
command
$ rpmbuild --define 'dist .el5' --define 'rhel 5' --define 'el5 1' -ba ~/rpmbuild/SPECS/mysql.spec
ここで作成したRPMをインストールすれば、最初に書いたエラーが出なくなります。