mysql中分区表的疑问?
使用centos5, mysql5.5.12版本:
问题1: 在my.cnf中的[mysqld]下添加了innodb_file_per_table=1,重启mysql后,执行以下语句
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
此参数怎么始终显示为OFF状态 ?
问题2: 建立有较多文件的分区表时, 如果先执行 set global innodb_file_per_table = 1, 再执行以下语句
CREATE TABLE `test1` (id int, uname varchar(50)) engine=innodb default charset =utf8
partition by range(id)
(PARTITION p1 VALUES LESS THAN (1274976000) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (1275580800) ENGINE = InnoDB,
................
PARTITION p60 VALUES LESS THAN (1275580800) ENGINE = InnoDB)
总提示错误: Error 1005(HY000): Can't Create table 'test.test1' (errno:1)
说明:修改为myisam引擎后,上面语句运行正常 ;
不修改表引擎,但减少分区的个数后,执行也正常
问题1: 在my.cnf中的[mysqld]下添加了innodb_file_per_table=1,重启mysql后,执行以下语句
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
此参数怎么始终显示为OFF状态 ?
问题2: 建立有较多文件的分区表时, 如果先执行 set global innodb_file_per_table = 1, 再执行以下语句
CREATE TABLE `test1` (id int, uname varchar(50)) engine=innodb default charset =utf8
partition by range(id)
(PARTITION p1 VALUES LESS THAN (1274976000) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (1275580800) ENGINE = InnoDB,
................
PARTITION p60 VALUES LESS THAN (1275580800) ENGINE = InnoDB)
总提示错误: Error 1005(HY000): Can't Create table 'test.test1' (errno:1)
说明:修改为myisam引擎后,上面语句运行正常 ;
不修改表引擎,但减少分区的个数后,执行也正常
作者: pzlydg 发布时间: 2011-05-19
QUOTE:原帖由 pzlydg 于 2011-5-19 09:57 发表
使用centos5, mysql5.5.12版本:
问题1: 在my.cnf中的[mysqld]下添加了innodb_file_per_table=1,重启mysql后,执行以下语句
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
此参数怎么始终显示为OFF状态 ?
问题2: 建立有较多文件的分区表时, 如果先执行 set global innodb_file_per_table = 1, 再执行以下语句
CREATE TABLE `test1` (id int, uname varchar(50)) engine=innodb default charset =utf8
partition by range(id)
(PARTITION p1 VALUES LESS THAN (1274976000) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (1275580800) ENGINE = InnoDB,
................
PARTITION p60 VALUES LESS THAN (1275580800) ENGINE = InnoDB)
总提示错误: Error 1005(HY000): Can't Create table 'test.test1' (errno:1)
说明:修改为myisam引擎后,上面语句运行正常 ;
不修改表引擎,但减少分区的个数后,执行也正常
使用centos5, mysql5.5.12版本:
问题1: 在my.cnf中的[mysqld]下添加了innodb_file_per_table=1,重启mysql后,执行以下语句
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
此参数怎么始终显示为OFF状态 ?
问题2: 建立有较多文件的分区表时, 如果先执行 set global innodb_file_per_table = 1, 再执行以下语句
CREATE TABLE `test1` (id int, uname varchar(50)) engine=innodb default charset =utf8
partition by range(id)
(PARTITION p1 VALUES LESS THAN (1274976000) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (1275580800) ENGINE = InnoDB,
................
PARTITION p60 VALUES LESS THAN (1275580800) ENGINE = InnoDB)
总提示错误: Error 1005(HY000): Can't Create table 'test.test1' (errno:1)
说明:修改为myisam引擎后,上面语句运行正常 ;
不修改表引擎,但减少分区的个数后,执行也正常
是不是读的配置文件不对......另外errno1 是表明mysqld服务没有权限......
5.1.*是创建再多的分区也没有问题,只要不超过1024个...
作者: jinguanding 发布时间: 2011-05-19
读取的是/data/mysql/my.cnf
作者: pzlydg 发布时间: 2011-05-19
想问下:怎么查看当前读取的配置文件路径?
作者: pzlydg 发布时间: 2011-05-19