2014-12-12 2 views
0

MySQL 5.5를 사용 중이고 자신을 위해 기본 스토리지 엔진을 변경하려고합니다. 내가 여기 지시에 따라 홈 디렉토리에 .my.cnf 파일을 만들려고 :~/.my.cnf를 사용하여 기본 mysql 스토리지 엔진 변경

http://dev.mysql.com/doc/refman/5.5/en/storage-engine-setting.html

http://dev.mysql.com/doc/refman/5.5/en/option-files.html

당신은 내가 지금까지 여기에서 변경 한 볼 수 있습니다

:

[email protected]:~$ cat .my.cnf 
[mysqld] 
default-storage-engine=MyISAM 
[email protected]:~$ sudo /etc/init.d/mysql restart 
[sudo] password for selah: 
* Stopping MySQL database server mysqld                         [ OK ] 
* Starting MySQL database server mysqld                         [ OK ] 
* Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly. 

그러나 MyISAM은 여전히 ​​기본값이 아닙니다!

mysql> show engines; 
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
| Engine    | Support | Comment              | Transactions | XA | Savepoints | 
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
| PERFORMANCE_SCHEMA | YES  | Performance Schema            | NO   | NO | NO   | 
| MRG_MYISAM   | YES  | Collection of identical MyISAM tables       | NO   | NO | NO   | 
| MEMORY    | YES  | Hash based, stored in memory, useful for temporary tables  | NO   | NO | NO   | 
| BLACKHOLE   | YES  | /dev/null storage engine (anything you write to it disappears) | NO   | NO | NO   | 
| MyISAM    | YES  | MyISAM storage engine           | NO   | NO | NO   | 
| CSV    | YES  | CSV storage engine            | NO   | NO | NO   | 
| ARCHIVE   | YES  | Archive storage engine           | NO   | NO | NO   | 
| FEDERATED   | NO  | Federated MySQL storage engine         | NULL   | NULL | NULL  | 
| InnoDB    | DEFAULT | Supports transactions, row-level locking, and foreign keys  | YES   | YES | YES  | 
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
9 rows in set (0.00 sec) 

어떻게 작동합니까?

EDIT : 기록을 위해 필자는 /etc/mysql/my.cnf 파일을 편집하고 컴퓨터를 다시 시작하여이 작업을 수행 할 수있었습니다 (단순히 프로세스를 다시 시작하지 못했습니다). 그러나 나는 여전히 내 사용자에 대해서만 이것을 변경하는 방법을 이해하고 싶습니다!

+0

이노 좋은 기본값입니다. MyISAM을 만드는 데 필요한 요구 사항은 무엇입니까? 그것은 끔찍한 엔진입니다. – tadman

답변

0

default_storage_engine은 연결 설정이 아닌 서버 설정입니다. mysqld 서버는 사용자 '~/.my.cnf'를 읽지 않으며 클라이언트는 섹션이 아닌 [client] 섹션 만 읽습니다.

당신의 [client] 섹션에서 init-commend를 통해 변경할 수 있습니다 '~/.my.cnf'그래도 :

init-command="SET default_storage_engine=MYISAM;" 
관련 문제