使用~/.my.cnf更改默认mysql存储引擎
我正在使用MySQL 5.5,并试图更改默认的存储引擎,仅限我自己使用。我尝试按照我在此处找到的说明在我的主目录中创建.my.cnf文件: 您可以在此处看到我迄今所做的更改:使用~/.my.cnf更改默认mysql存储引擎,mysql,myisam,my.cnf,Mysql,Myisam,My.cnf,我正在使用MySQL 5.5,并试图更改默认的存储引擎,仅限我自己使用。我尝试按照我在此处找到的说明在我的主目录中创建.my.cnf文件: 您可以在此处看到我迄今所做的更改: selah@selah-OptiPlex-9020:~$ cat .my.cnf [mysqld] default-storage-engine=MyISAM selah@selah-OptiPlex-9020:~$ sudo /etc/init.d/mysql restart [sudo] password for se
selah@selah-OptiPlex-9020:~$ cat .my.cnf
[mysqld]
default-storage-engine=MyISAM
selah@selah-OptiPlex-9020:~$ 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)
我怎样才能让它工作
编辑:对于记录,我只是能够通过编辑我的/etc/mysql/my.cnf文件并重新启动我的计算机来实现这一点,只是重新启动进程失败了。但是,我仍然想了解如何仅为我的用户更改此设置 默认存储引擎是服务器设置,而不是连接设置。mysqld服务器不读取用户“~/.my.cnf”,客户端只读取[client]部分,而不读取[mysqld]部分
您可以通过“~/.my.cnf”中[client]部分的init命令进行更改,不过:
init-command="SET default_storage_engine=MYISAM;"
InnoDB是一个很好的默认值。您有哪些要求使MyISAM成为必要的?相比之下,这是一台糟糕的发动机。