修改mysql默认的存储引擎

首先查看默认的存储引擎是:

语句:

mysql> SHOW VARIABLES LIKE 'storage_engine'
    -> ;
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | MyISAM |
+----------------+--------+
1 row in set (0.00 sec)

可以看到我的这个是 :MyISAM

默认这个引擎不支持那3个东西,所以要修改

我先查看一下:
mysql> show engines;   <----------- 用分号结尾 出来的是下面这样,分号和\G 出来的样子是不一样的。
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)

展示一下\G结尾的样子:

mysql> show engines \G
*************************** 1. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 3. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
5 rows in set (0.00 sec)

题外话说到这里,总之就是不支持那三个功能;Transactions 事物处理;XA;Savepoints;

所以我们要修改一下存储引擎:

找到文件my.cnf

root@b-ThinkPad-X230s:/usr/local/mysql# ls
bin   docs     lib      my.cnf      share      var
data  include  libexec  mysql-test  sql-bench

编辑这个文件:

[mysqld] <---------------------------------------------------找到这里
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-storage-engine=INNODB  这句话是插入其中的,然后保存退出!

接下来重启mysql这个服务,我使用的重启的方法是:

./mysqladmin -u root -p shutdown  这个命令,先把它关闭,然后查看进程没有了

然后再接着:

./mysqld_safe --user=root 把服务启动,查看进程,存在!

然后我们查看是否已经把数据库存储引擎修改了

mysql> show variables like 'storage_engine';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | InnoDB |
+----------------+--------+
1 row in set (0.01 sec)
哈哈!已经修改了!INNODB 是我们想要的!

posted @ 2015-12-01 14:45  su_yang  阅读(718)  评论(0编辑  收藏  举报