I am running as root.
I dont understand what rights or permissions mysqld needs
beyond those of root. Also, ./ibdata1 is relative to what path?
I get this message no matter what dir is my current working dir.
I searched in my home dir and in /root home dir. There is no such
file or directory called ./ibdata1
nor is there any file or dir called mysql.plugin
Wasnt mysqld supposed to create all that at startup??
This is what the top of the log file says:
071215 15:36:09 mysqld started
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
071215 15:36:09 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
071215 15:36:10 InnoDB: Log file ./ib_logfile0 did not exist: new to be
created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
071215 15:36:10 InnoDB: Log file ./ib_logfile1 did not exist: new to be
created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
071215 15:36:10 InnoDB: Started; log sequence number 0 0
071215 15:36:10 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.45' socket: '/var/lib/mysql/mysql.sock' port: 3306
Source distribution
071215 15:47:01 [Note] /usr/libexec/mysqld: Normal shutdown
071215 15:47:01 InnoDB: Starting shutdown...
071215 15:47:02 InnoDB: Shutdown completed; log sequence number 0 43655
071215 15:47:02 [Note] /usr/libexec/mysqld: Shutdown complete
071215 15:47:02 mysqld ended
Then at re-start:
071215 15:47:17 mysqld started
071215 15:47:17 InnoDB: Started; log sequence number 0 43655
071215 15:47:17 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.45' socket: '/var/lib/mysql/mysql.sock' port: 3306
Source distribution
071217 0:03:27 [Note] /usr/libexec/mysqld: Normal shutdown
071217 0:03:28 InnoDB: Starting shutdown...
071217 0:03:29 InnoDB: Shutdown completed; log sequence number 0 43655
071217 0:03:29 [Note] /usr/libexec/mysqld: Shutdown complete
071217 00:03:29 mysqld ended
090121 09:32:40 mysqld_safe Starting mysqld daemon with databases from
/var/lib/mysql
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
090121 9:32:41 [ERROR] Can't open the mysql.plugin table. Please run
mysql_upgrade to create it.
090121 9:32:41 InnoDB: Operating system error number 13 in a file
operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
090121 09:32:41 mysqld_safe mysqld from pid file
/var/run/mysqld/mysqld.pid ended
090121 09:33:41 mysqld_safe Starting mysqld daemon with databases from
/var/lib/mysql
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
090121 9:33:41 [ERROR] Can't open the mysql.plugin table. Please run
mysql_upgrade to create it.
So, how are ibdata1 and mysql.plugin are supposed to be created?
Baron Schwartz wrote:
Hello JD,
You need to look beyond the first error messages:
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
090127 10:00:30 [ERROR] Can't open the mysql.plugin table. Please run
mysql_upgrade to create it.
but keep reading:
090127 10:00:30 InnoDB: Operating system error number 13 in a file
operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
That's what is really keeping mysqld from starting. You just need to
chown/chmod the data directory or run mysqld as the proper user.