2003-05-20考虑了一下,决定将1的标题该为安装。关于配置的初步说明放在基本概念里面。0.5配置文件
MySQL的常用工具可以用命令行参数控制其行为,为了减少输入工作,从3.22起,引入了my.cnf配置文件.
my.cnf用[group]标明下面的配置项对哪组工具起作用.型如option的配置项等同于命令行参数--option,
型如option=value的配置项等同于命令行参数--option=value.
查找配置文件的顺序如下:
`/etc/my.cnf' Global options. 
`COMPILATION_DATADIR/my.cnf' Server-specific options. 
`defaults-extra-file' The file specified with --defaults-extra-file=.... 
`~/.my.cnf' User-specific options. 
对于同一组下的相同的配置项,MySQL采用这样一种策略:特殊覆盖一般,后来覆盖先到.
从上面可以看出,my.cnf和onconfig.ids相似但不相同.
----------------------------------------------------
1.3将路径加入环境变量
cd 
vi .bash_profile
PATH=$PATH:/usr/share/mysql;export PATH2.创建InnoDB数据库和表2.1建库
2.1.1创建配置文件/var/lib/my.cnf
数据库:proj_doc
位置:  /usr/data/proj_doc
大小:  20M
[mysqld]
# You can write your other MySQL server options here
# ...
#                                  Data file(s) must be able to
#                                  hold your data and indexes.
#                                  Make sure you have enough
#                                  free disk space.
innodb_data_home_dir =
innodb_data_file_path = /usr/data/proj_doc/proj_doc:20M:autoextend
#                                  Set buffer pool size to
#                                  50 - 80 % of your computer's
#                                  memory
innodb_log_group_home_dir=/usr/data/proj_doc
set-variable = innodb_buffer_pool_size=80M
set-variable = innodb_additional_mem_pool_size=10M
#                                  Set the log file size to about
#                                  25 % of the buffer pool size
set-variable = innodb_log_file_size=20M
set-variable = innodb_log_buffer_size=8M
#                                  Set ..flush_log_at_trx_commit
#                                  to 0 if you can afford losing
#                                  some last transactions 
innodb_flush_log_at_trx_commit=12.1.2创建数据目录
cd /usr
mkdir data
chown mysql:mysql data
cd data
mkdir proj_doc
chown mysql:mysql proj_doc2.1.3重启MySQL服务
mysql.server stop
mysql.server start

解决方案 »

  1.   

    2003-05-220.4目录结构
    0.4关于InnoDB的部分有误,更正如下:
    基于InnoDB数据引擎的库,结构和informix相似,引入了数据空间的概念,一个库仍然表现为一个目录,这个目录下保存frm文件,真正的数据保存在数据空间里面.
    下面是我的mysqld创建默认的InnoDB数据空间文件:
    ib_arch_log_0000000000  ibdata1  ib_logfile0  ib_logfile1
    2.1.4创建proj_doc数据库
    mysql --user=root -pmysql>CREATE DATABASE proj_doc;
    mysql>quit此时进入/var/lib/mysql目录,会发现多了一个proj_doc目录.2.2建表
    编辑create.sql文件,内容如下,注意用TYPE=InnoDB指定表类型:
    USE proj_doc;
    CREATE TABLE proj_info (proj_id CHAR(7) NOT NULL, engineer VARCHAR(128),
    proj_desc VARCHAR(128),PRIMARY KEY  (proj_id)) TYPE = InnoDB;
    CREATE TABLE doc_info (proj_id CHAR(7) NOT NULL, doc_name VARCHAR(64),
    doc_desc VARCHAR(128),engineer VARCHAR(32), INDEX p_id (proj_id), FOREIGN KEY (proj_id) REFERENCES proj_info (proj_id) ON DELETE CASCADE) TYPE = InnoDB;用下面的命令创建表:
    mysql -uroot -pyourpasswd < create.sql > create.out再进入/var/lib/mysql/proj_doc目录,会发现下面两个文件:
    doc_info.frm  proj_info.frm
    这就是表结构文件.
      

  2.   

    2003-05-27
    C API
    3.1下载
    www.mysql.com 下载Libraries and header files RPM包
    在文档写过程中,版本从4.0.12 变成了 4.0.13
    用rpm -q -p -l MySQL-devel-4.0.13-0.i386.rpm 命令查看下载的软件包,其中库文件如下:
    /usr/lib/mysql/libdbug.a
    /usr/lib/mysql/libheap.a
    /usr/lib/mysql/libmerge.a
    /usr/lib/mysql/libmyisam.a
    /usr/lib/mysql/libmyisammrg.a
    /usr/lib/mysql/libmysqlclient.a
    /usr/lib/mysql/libmysqlclient.la
    /usr/lib/mysql/libmysqlclient_r.a
    /usr/lib/mysql/libmysqlclient_r.la
    /usr/lib/mysql/libmystrings.a
    /usr/lib/mysql/libmysys.a
    /usr/lib/mysql/libnisam.a
    /usr/lib/mysql/libvio.a
    3.2安装
    rpm -ihv MySQL-devel-4.0.13-0.i386.rpm