簡體   English   中英

mysql.user表的引擎可以從MyISAM轉換為InnoDb嗎?

[英]can mysql.user table's engine be converted from MyISAM to InnoDb?

我在生產MySQL數據庫上運行了以下查詢:

SELECT  CONCAT('`', table_schema,'`.`', table_name, '`') AS schema_tables
FROM    information_schema.tables AS tb
WHERE   `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

它從mysql模式返回了所有表,其中一些是:

`mysql`.`user`
`mysql`.`time_zone_transition_type`
`mysql`.`time_zone_transition`
`mysql`.`time_zone_name`
`mysql`.`time_zone_leap_second`
`mysql`.`time_zone`
`mysql`.`tables_priv`
`mysql`.`servers`
`mysql`.`proxies_priv`
...

我的查詢是:
1.這些可以安全地轉換為innodb嗎?
2.為什么首先將它們放在MyISAM引擎中? 我是錯誤地更改了它還是默認了?

服務器版本:5.6.22-log MySQL Community Server(GPL)
PS:我知道InnoDb是5.6的默認引擎,而且我從未運行過任何查詢以轉換為MyISAM。

不,你不能!

正如文檔所說:

重要

請勿將mysql數據庫(例如用戶或主機)中的MySQL系統表轉換為InnoDB類型。 這是不受支持的操作。 系統表必須始終為MyISAM類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM