MySQL檢視和修改表的儲存引擎

2021-06-26 07:57:30 字數 1681 閱讀 4255

1 檢視系統支援的儲存引擎

show engines;

2 檢視表使用的儲存引擎

兩種方法:

a、show table status from db_name where name='table_name';

b、show create table table_name;

如果顯示的格式不好看,可以用\g代替行尾分號

有人說用第二種方法不準確(

我試了下,關閉掉原先預設的innodb引擎後根本無法執行show create table table_name指令,因為之前建的是innodb表,關掉後預設用myisam引擎,導致innodb表資料無法被正確讀取。

3 修改表引擎方法

alter table table_name engine=innodb; ​

4 關閉innodb引擎方法

關閉mysql服務: net stop mysql

找到mysql安裝目錄下的my.ini檔案:

找到default-storage-engine=innodb 改為default-storage-engine=myisam

找到#skip-innodb 改為skip-innodb

啟動mysql服務:net start mysql

使用的預設資料庫儲存引擎是innodb,而使用innodb儲存引擎的時候,是不生成.myd 和.myi檔案的。

所以要生成.myd 和.myi檔案,只需在建表的時候,顯式地指定資料庫儲存引擎  

mysql原生版包含myisam、innodb(innobase,innodb-plugin)等等引擎,如果我們在my.cnf指定了預設儲存引擎,那麼我們建立庫和表時都會使用預設的引擎,但是預設引擎有時並不能滿足我們的需求,這時候可能就需要我們的sql指令碼中加入建立表時要用的引擎了,例如:

一般情況下,mysql會預設提供多種儲存引擎,你可以通過下面的檢視:

看你的mysql現在已提供什麼儲存引擎:

mysql> show engines;

看你的mysql當前預設的儲存引擎:

mysql> show variables like '%storage_engine%';

你要看某個錶用了什麼引擎(在顯示結果裡引數engine後面的就表示該錶當前用的儲存引擎):

mysql>show create table 表名;

create table discuz.cdb_user engine = innodb;

這樣就可以將表discuz.cdb_user的引擎變更為innodb引擎了。

也可以在建立表之後通過下面語句來變更:

alter table discuz.cdb_user engine =innodb;

如果要檢視表的型別可以使用:

show table status form discuz;

表示檢視資料庫discuz裡所有表的資訊,其中engine:對應的列就是表所用的儲存引擎

如果要檢視單個表的資訊可以使用:

show create table discuz.cdb_user ;

在輸出資訊的最後可以看到engine=*****,此處就是表所用的儲存引擎

修改儲存引擎,可以用命令alter table tablename engine =enginename

MySQL檢視和修改表的儲存引擎

1 檢視系統支援的儲存引擎 show engines 2 檢視表使用的儲存引擎 兩種方法 a show table status from db name where name table name b show create table table name 如果顯示的格式不好看,可以用 g代替行...

MySQL檢視和修改表的儲存引擎

1 檢視系統支援的儲存引擎 show engines 2 檢視表使用的儲存引擎 兩種方法 a show table status from db name where name table name b show create table table name 如果顯示的格式不好看,可以用 g代替行...

MySQL檢視和修改表的儲存引擎

1 檢視系統支援的儲存引擎 show engines 2 檢視表使用的儲存引擎 兩種方法 a show table status from db name where name table name b show create table table name 如果顯示的格式不好看,可以用 g代替行...