Suppose that you have installed MySQL and have edited your
option file so that it contains the necessary
InnoDB
configuration parameters. Before
starting MySQL, you should verify that the directories you have
specified for InnoDB
data files and log files
exist and that the MySQL server has access rights to those
directories. InnoDB
does not create
directories, only files. Check also that you have enough disk
space for the data and log files.
It is best to run the MySQL server mysqld
from the command prompt when you first start the server with
InnoDB
enabled, not from
mysqld_safe or as a Windows service. When you
run from a command prompt you see what mysqld
prints and what is happening. On Unix, just invoke
mysqld. On Windows, start
mysqld with the
--console
option to direct the
output to the console window.
When you start the MySQL server after initially configuring
InnoDB
in your option file,
InnoDB
creates your data files and log files,
and prints something like this:
InnoDB: The first specified datafile /home/heikki/data/ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file /home/heikki/data/ibdata1 size to 134217728 InnoDB: Database physically writes the file full: wait... InnoDB: datafile /home/heikki/data/ibdata2 did not exist: new to be created InnoDB: Setting file /home/heikki/data/ibdata2 size to 262144000 InnoDB: Database physically writes the file full: wait... InnoDB: Log file /home/heikki/data/logs/ib_logfile0 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile0 size to 5242880 InnoDB: Log file /home/heikki/data/logs/ib_logfile1 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile1 size to 5242880 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 InnoDB: Started mysqld: ready for connections
At this point InnoDB
has initialized its
tablespace and log files. You can connect to the MySQL server
with the usual MySQL client programs like
mysql. When you shut down the MySQL server
with mysqladmin shutdown, the output is like
this:
010321 18:33:34 mysqld: Normal shutdown 010321 18:33:34 mysqld: Shutdown Complete InnoDB: Starting shutdown... InnoDB: Shutdown completed
You can look at the data file and log directories and you see
the files created there. The log directory also contains a small
file named ib_arch_log_0000000000
. That
file resulted from the database creation, after which
InnoDB
switched off log archiving. When MySQL
is started again, the data files and log files have been created
already, so the output is much briefer:
InnoDB: Started mysqld: ready for connections
Starting from MySQL 4.1.1, you can add the option
innodb_file_per_table
to
my.cnf
to make InnoDB
store each table to its own .ibd
file in
the same MySQL database directory where the
.frm
file is created. See
Section 13.2.3.1, “Using Per-Table Tablespaces”.
User Comments
To get InnoDB to work on mysqld 4.1.14 and Fedora Core 3 on a 30 GByte, LVM (logical volume manager) raw partition whose pathname is /dev/VolGroupXX/LogVolYY, both innodb_data_home_dir and innodb_data_file_path must be set "correctly" in configuration file /etc/my.cnf.
Set "innodb_data_home_dir = /dev/VolGroupXX".
To initialize the raw partition, set "innodb_data_file_path = LogVolYY:30Gnewraw". "new" is synonymous with clobber or initialize; so, use it _only_ to initialize a raw partition. Start mysqld, wait until the raw partition's initialization is complete, and stop mysqld.
Once the server is stopped, set "innodb_data_file_path = LogVolYY:30Graw".
Add your own comment.