[ 编译 ]
innodb是默认是以动态链接(*.so)的形式作为插件编译的,可以./configure --help | less 查看详情
安装后会放在./lib/mysql/plugin,后期加载参数:--plugin-load=innodb=ha_innodb_plugin.so
以下并非必需(也可用其它系统用户来运行mysql):
安装前先准备好mysql用户:
# groupadd mysql
# useradd -g mysql mysql
# make install
后要把安装目录下的文件全改为mysql所有
chgrp -R mysql "mysql_install_dir"
chown -R mysql "mysql_install_dir"
--
"source_dir"/scripts/mysql_install_db 用来创建mysql数据目录、并通过mysqld运行一些sql文件来创建一些数据库和表
# sh mysql_install_db --basedir="dir-to-find-mysqld" --datadir="dir-to-install-databasefile"
无参数时
# sh mysql_install_db
将会有默认的路径参数,是由./configure生成的,如:
ldata="/home/zjay/bin/mysql5.1/var"
basedir="/home/zjay/bin/mysql5.1"
bindir="/home/zjay/bin/mysql5.1/bin"
extra_bindir="$bindir"
mysqld="/home/zjay/bin/mysql5.1/libexec/mysqld"
pkgdatadir="/home/zjay/bin/mysql5.1/share/mysql"
scriptdir="/home/zjay/bin/mysql5.1/bin"
--
# mysqld --verbose --help | less
可以看到mysqld的基本帮助(近1000行...,所有的参数说明都在这里了)
其中还显示所有配置文件的读取顺序
--
[ INNODB ]
http://dev.mysql.com/doc/refman/5.1/en/innodb-storage-engine.html
加载:
INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so';
方法会在mysql.plugin表里写入记录,以便下一次mysql启动时再次加载该插件
使用--plugin-load写法则是当次mysql启动时加载
具体参数:http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html
表空间(存放表的文件):
--innodb_file_per_table参数使得新创建的INNODB表以独立的"table_name".frm, "table_name".ibd出现,索引和数据都存在.ibd文件中,但表定义、事务ID、LOG ID都是存在共享表空间里的,所以这些独立的表数据文件不能随便地象MYISAM表那样移来移去