TomB19
September 24th, 2008, 01:13 AM
I have a mysql datadir permissions issue
I know about AppArmor and have configured it accordingly. Thank you to those who left that knowledge in this database.
I have a datadir from a previous install on a huge RAID array. In the past, I have been able to reinstall, reconfigure, and point mysql to the old datadir. Everything was fine.
Now, that doesn't work.
Sep 23 22:34:17 localhost mysqld_safe[21636]: started
Sep 23 22:34:17 localhost mysqld[21639]: 080923 22:34:17 InnoDB: Started; log sequence number 0 43735
Sep 23 22:34:17 localhost mysqld[21639]: 080923 22:34:17 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'host' is read only
Sep 23 22:34:17 localhost mysqld_safe[21651]: ended
The permissions look fine to me.
# ls -l
total 716
-rw-rw---- 1 mysql mysql 8820 2008-09-20 15:19 columns_priv.frm
-rw-rw---- 1 mysql mysql 17820 2008-09-20 15:19 columns_priv.MYD
-rw-rw---- 1 mysql mysql 5120 2008-09-20 15:19 columns_priv.MYI
-rw-rw---- 1 mysql mysql 9494 2008-09-20 15:19 db.frm
-rw-rw---- 1 mysql mysql 11826 2008-09-20 15:19 db.MYD
-rw-rw---- 1 mysql mysql 4096 2008-09-20 15:19 db.MYI
-rw-rw---- 1 mysql mysql 8665 2008-09-20 15:19 func.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 func.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 func.MYI
-rw-rw---- 1 mysql mysql 8700 2008-05-10 19:14 help_category.frm
-rw-rw---- 1 mysql mysql 1048 2008-05-10 19:14 help_category.MYD
-rw-rw---- 1 mysql mysql 3072 2008-05-10 19:14 help_category.MYI
-rw-rw---- 1 mysql mysql 8612 2008-05-10 19:14 help_keyword.frm
-rw-rw---- 1 mysql mysql 8228 2008-05-10 19:14 help_keyword.MYD
-rw-rw---- 1 mysql mysql 14336 2008-05-10 19:14 help_keyword.MYI
-rw-rw---- 1 mysql mysql 8630 2008-05-10 19:14 help_relation.frm
-rw-rw---- 1 mysql mysql 7281 2008-05-10 19:14 help_relation.MYD
-rw-rw---- 1 mysql mysql 15360 2008-05-10 19:14 help_relation.MYI
-rw-rw---- 1 mysql mysql 8770 2008-05-10 19:14 help_topic.frm
-rw-rw---- 1 mysql mysql 333276 2008-05-10 19:14 help_topic.MYD
-rw-rw---- 1 mysql mysql 18432 2008-05-10 19:14 help_topic.MYI
-rw-rw---- 1 mysql mysql 9416 2008-09-20 15:19 host.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 host.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 host.MYI
-rw-rw---- 1 mysql mysql 9691 2008-09-20 15:19 proc.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 proc.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 proc.MYI
-rw-rw---- 1 mysql mysql 8875 2008-09-20 15:19 procs_priv.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 procs_priv.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 procs_priv.MYI
-rw-rw---- 1 mysql mysql 8947 2008-09-20 15:19 tables_priv.frm
-rw-rw---- 1 mysql mysql 2553 2008-09-20 15:19 tables_priv.MYD
-rw-rw---- 1 mysql mysql 5120 2008-09-20 15:19 tables_priv.MYI
-rw-rw---- 1 mysql mysql 8636 2008-05-10 19:14 time_zone.frm
-rw-rw---- 1 mysql mysql 8624 2008-05-10 19:14 time_zone_leap_second.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_leap_second.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_leap_second.MYI
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone.MYI
-rw-rw---- 1 mysql mysql 8606 2008-05-10 19:14 time_zone_name.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_name.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_name.MYI
-rw-rw---- 1 mysql mysql 8686 2008-05-10 19:14 time_zone_transition.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_transition.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_transition.MYI
-rw-rw---- 1 mysql mysql 8748 2008-05-10 19:14 time_zone_transition_type.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_transition_type.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_transition_type.MYI
-rw-rw---- 1 mysql mysql 10330 2008-09-20 15:19 user.frm
-rw-rw---- 1 mysql mysql 2164 2008-09-20 15:19 user.MYD
-rw-rw---- 1 mysql mysql 2048 2008-09-20 15:19 user.MYI
The only way I can get mysql to start is by setting 'user=root' in my.cfg.
I've been up for a long time, trying to install this server, but I can't see any issue that should stop mysql from running as a user.
Even though I don't believe the problem is AppArmor, I did a 'aa-complain /etc/apparmor.d/usr.sbin.mysqld' to be sure. It didn't help.
Any ideas on how to sort this out would be greatly appreciated!
I know about AppArmor and have configured it accordingly. Thank you to those who left that knowledge in this database.
I have a datadir from a previous install on a huge RAID array. In the past, I have been able to reinstall, reconfigure, and point mysql to the old datadir. Everything was fine.
Now, that doesn't work.
Sep 23 22:34:17 localhost mysqld_safe[21636]: started
Sep 23 22:34:17 localhost mysqld[21639]: 080923 22:34:17 InnoDB: Started; log sequence number 0 43735
Sep 23 22:34:17 localhost mysqld[21639]: 080923 22:34:17 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'host' is read only
Sep 23 22:34:17 localhost mysqld_safe[21651]: ended
The permissions look fine to me.
# ls -l
total 716
-rw-rw---- 1 mysql mysql 8820 2008-09-20 15:19 columns_priv.frm
-rw-rw---- 1 mysql mysql 17820 2008-09-20 15:19 columns_priv.MYD
-rw-rw---- 1 mysql mysql 5120 2008-09-20 15:19 columns_priv.MYI
-rw-rw---- 1 mysql mysql 9494 2008-09-20 15:19 db.frm
-rw-rw---- 1 mysql mysql 11826 2008-09-20 15:19 db.MYD
-rw-rw---- 1 mysql mysql 4096 2008-09-20 15:19 db.MYI
-rw-rw---- 1 mysql mysql 8665 2008-09-20 15:19 func.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 func.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 func.MYI
-rw-rw---- 1 mysql mysql 8700 2008-05-10 19:14 help_category.frm
-rw-rw---- 1 mysql mysql 1048 2008-05-10 19:14 help_category.MYD
-rw-rw---- 1 mysql mysql 3072 2008-05-10 19:14 help_category.MYI
-rw-rw---- 1 mysql mysql 8612 2008-05-10 19:14 help_keyword.frm
-rw-rw---- 1 mysql mysql 8228 2008-05-10 19:14 help_keyword.MYD
-rw-rw---- 1 mysql mysql 14336 2008-05-10 19:14 help_keyword.MYI
-rw-rw---- 1 mysql mysql 8630 2008-05-10 19:14 help_relation.frm
-rw-rw---- 1 mysql mysql 7281 2008-05-10 19:14 help_relation.MYD
-rw-rw---- 1 mysql mysql 15360 2008-05-10 19:14 help_relation.MYI
-rw-rw---- 1 mysql mysql 8770 2008-05-10 19:14 help_topic.frm
-rw-rw---- 1 mysql mysql 333276 2008-05-10 19:14 help_topic.MYD
-rw-rw---- 1 mysql mysql 18432 2008-05-10 19:14 help_topic.MYI
-rw-rw---- 1 mysql mysql 9416 2008-09-20 15:19 host.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 host.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 host.MYI
-rw-rw---- 1 mysql mysql 9691 2008-09-20 15:19 proc.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 proc.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 proc.MYI
-rw-rw---- 1 mysql mysql 8875 2008-09-20 15:19 procs_priv.frm
-rw-rw---- 1 mysql mysql 0 2008-09-20 15:19 procs_priv.MYD
-rw-rw---- 1 mysql mysql 1024 2008-09-20 15:19 procs_priv.MYI
-rw-rw---- 1 mysql mysql 8947 2008-09-20 15:19 tables_priv.frm
-rw-rw---- 1 mysql mysql 2553 2008-09-20 15:19 tables_priv.MYD
-rw-rw---- 1 mysql mysql 5120 2008-09-20 15:19 tables_priv.MYI
-rw-rw---- 1 mysql mysql 8636 2008-05-10 19:14 time_zone.frm
-rw-rw---- 1 mysql mysql 8624 2008-05-10 19:14 time_zone_leap_second.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_leap_second.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_leap_second.MYI
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone.MYI
-rw-rw---- 1 mysql mysql 8606 2008-05-10 19:14 time_zone_name.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_name.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_name.MYI
-rw-rw---- 1 mysql mysql 8686 2008-05-10 19:14 time_zone_transition.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_transition.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_transition.MYI
-rw-rw---- 1 mysql mysql 8748 2008-05-10 19:14 time_zone_transition_type.frm
-rw-rw---- 1 mysql mysql 0 2008-05-10 19:14 time_zone_transition_type.MYD
-rw-rw---- 1 mysql mysql 1024 2008-05-10 19:14 time_zone_transition_type.MYI
-rw-rw---- 1 mysql mysql 10330 2008-09-20 15:19 user.frm
-rw-rw---- 1 mysql mysql 2164 2008-09-20 15:19 user.MYD
-rw-rw---- 1 mysql mysql 2048 2008-09-20 15:19 user.MYI
The only way I can get mysql to start is by setting 'user=root' in my.cfg.
I've been up for a long time, trying to install this server, but I can't see any issue that should stop mysql from running as a user.
Even though I don't believe the problem is AppArmor, I did a 'aa-complain /etc/apparmor.d/usr.sbin.mysqld' to be sure. It didn't help.
Any ideas on how to sort this out would be greatly appreciated!