mysql在5.6版本之后,就可以將undo表空間從系統表空間分離出來。如果在初始化mysql的時候,/etc/my.cnf文件中,並沒有指定innodb_undo_tablespaces的數量,那么默認情況undo就是存放在系統表空間中。初始化成功之后,嘗試修改innodb_undo_tablespaces參數,數據庫就會報錯
root@localhost [(none)]>set global innodb_undo_tablespaces=3; ERROR 1238 (HY000): Variable 'innodb_undo_tablespaces' is a read only variable
或者修改/etc/my.cnf文件,重新啟動
[root@rsync-test03 data]# service mysqld start Starting MySQL..The server quit without updating PID file ([FAILED]sql/mysql3306/data/rsync-test03.pid).
官方文檔解釋: