[Wing-repo-dev 00033] Re: mysql 5.6.8のrpmで初期化処理でabort。

アーカイブの一覧に戻る

yoku ts. yoku0****@gmail*****
2012年 12月 6日 (木) 01:08:53 JST


WING☆さん
こんばんは、yokuですw

これですね。
http://bugs.mysql.com/bug.php?id=67672

mysql_install_db --user=mysqlで走らせると、
/var/lib/mysql/mysqlディレクトリをroot:rootで作ってchownしてくれない(ここがバグ)ので、
その後のテーブル作成にPermission denied(errorno: 13)で転けます。

Bugsで上げられている改修案をそのままパッチ形式にしてみました(diff取っただけ)


*** mysql_install_db    2012-12-06 01:00:19.444875937 +0900
--- mysql_install_db.fix        2012-12-06 01:01:18.381897500 +0900
***************
*** 634,640 ****
  foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" )
  {
    mkdir($dir, 0700) unless -d $dir;
!   chown($opt->{user}, $dir) if -w "/" and !$opt->{user};
  }

  push(@args, "--user=$opt->{user}") if $opt->{user};
--- 634,645 ----
  foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" )
  {
    mkdir($dir, 0700) unless -d $dir;
! #  chown($opt->{user}, $dir) if -w "/" and !$opt->{user};
! if ($opt->{user}) {
!     my ($login,$pass,$uid,$gid) = getpwnam($opt->{user})
!       or die "'".$opt->{user}."' not in passwd file";
!     chown($uid, -1, $dir) or die "can't chown '$dir'";
!   }
  }

  push(@args, "--user=$opt->{user}") if $opt->{user};



これで動くようになりました。

ところで、epel系って、/etc/init.d/mysqldがmysql_install_dbを叩くんですね。
(公式rpmはインストール時に叩く)

5.5系の/var/lib/mysqlをrmしなければ動くのは、
mkdir部分が省略されてディレクトリのownerがmysql:mysqlのままだからですね。

と、取り敢えず仕組みが判ったので満足ですw


yoku ts.

2012/12/5 WING☆ <wings****@wing-*****>:
> WING☆です。
>
> 現在、mysql 5.6.8のrpmを作ってて、一応サーバには載せて
> あるのですが、奇妙な現象に悩まされております。
>
> 既存にあるwingリポジトリのmysql 5.5.xのrpmを入れて
> 初期化処理(起動)をした後、mysql 5.5.xをアンインストール。
> その後、mysql 5.6.8をインストールして起動すると、
> 問題無く起動される。
>
> しかし、まっさらな状態(rm -rf /var/lib/mysql)から
> mysql 5.6.8をインストールして、起動すると初期化処理中
> にエラーが発生してしまいます。
>
> もしも心当たりがあれば、情報を教えて頂きたいなと
> 思いましてメールしました。
> (特にyokuさんw)
>
> mysql 5.6.8のrpm
> http://wing-net.ddo.jp/wing/mysql56/
>
> 以下、初期化中のログです。
> [root @ localhost ~]# service mysqld start
> MySQL データベースを初期化中:  Installing MySQL system tables...121205
> 21:27:52 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
> Please use --explicit_defaults_for_timestamp server option (see
> documentation for more details).
> 121205 21:27:52 [Note] InnoDB: The InnoDB memory heap is disabled
> 121205 21:27:52 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
> 121205 21:27:52 [Note] InnoDB: Compressed tables use zlib 1.2.3
> 121205 21:27:52 [Note] InnoDB: CPU does not support crc32 instructions
> 121205 21:27:52 [Note] InnoDB: Using Linux native AIO
> 121205 21:27:52 [Note] InnoDB: Initializing buffer pool, size = 128.0M
> 121205 21:27:52 [Note] InnoDB: Completed initialization of buffer pool
> 121205 21:27:52 [Note] InnoDB: The first specified data file ./ibdata1
> did not exist: a new database to be created!
> 121205 21:27:52 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
> 121205 21:27:52 [Note] InnoDB: Database physically writes the file full:
> wait...
> 121205 21:27:52 [Note] InnoDB: Setting log file ./ib_logfile101 size to
> 48 MB
> 121205 21:27:54 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
> 121205 21:27:55 [Note] InnoDB: Renaming log file ./ib_logfile101 to
> ./ib_logfile0
> 121205 21:27:55 [Warning] InnoDB: New log files created, LSN=45781
> 121205 21:27:55 [Note] InnoDB: Doublewrite buffer not found: creating new
> 121205 21:27:55 [Note] InnoDB: Doublewrite buffer created
> 121205 21:27:55 [Note] InnoDB: 128 rollback segment(s) are active.
> 121205 21:27:55 [Warning] InnoDB: Creating foreign key constraint system
> tables.
> 121205 21:27:55 [Note] InnoDB: Foreign key constraint system tables created
> 121205 21:27:55 [Note] InnoDB: Creating tablespace and datafile system
> tables.
> 121205 21:27:55 [Note] InnoDB: Tablespace and datafile system tables
> created.
> 121205 21:27:55 [Note] InnoDB: Waiting for purge to start
> 121205 21:27:55 [Note] InnoDB: 1.2.8 started; log sequence number 0
> 121205 21:27:55 [Note] RSA private key file not found:
> /var/lib/mysql/private_key.pem. Some authentication plugins will not work.
> ERROR: 1005  Can't create table 'db' (errno: 13)
> 121205 21:27:55 [ERROR] Aborting
>
> 121205 21:27:55 [Note] Binlog end
> 121205 21:27:55 [Note] InnoDB: FTS optimize thread exiting.
> 121205 21:27:55 [Note] InnoDB: Starting shutdown...
> 121205 21:28:02 [Note] InnoDB: Shutdown completed; log sequence number
> 1600607
> 121205 21:28:02 [Note] /usr/libexec/mysqld: Shutdown complete
>
>                                                            [失敗]
>
> なにせ新しいバージョンなので、ググっても情報が無く
> 自力解決を断念してしまいました…(おはずかしい…)
>
> 宜しくお願い致します。
> --
> ━━━━━━━━━━━━………‥‥‥・・・
> WING☆
> http://wingse.blog57.fc2.com/
> http://sourceforge.jp/projects/wing-repo/
> twitter:wingstars555
> Facebook:http://facebook.com/ason.fukui.5
> ━━━━━━━━━━━━……‥‥・・
>
> _______________________________________________
> Wing-repo-dev mailing list
> Wing-****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wing-repo-dev




Wing-repo-dev メーリングリストの案内
アーカイブの一覧に戻る