Mysql
MySQL 5.6 中的 ALTER TABLE 阻塞
我對 MySQL 5.6 主從設置有疑問。如果我要使用 ALTER TABLE SQL 查詢修改主架構的模式,那麼當從伺服器也嘗試執行該 ALTER TABLE 語句時,它是否會阻止對該特定表的所有讀取,直到該查詢完成執行?我確信並非所有表都會被阻塞,但我擔心被 ALTER-ed 的表本身是否會被阻塞。
我對我的問題進行了一些研究,並指的是http://blogs.oracle.com/mysqlinnodb/entry/online_alter_table_in_mysql上的線上ALTER TABLE 操作
我從其他人那裡聽說,如果它執行 5.1 MySQL,從屬設備在這種情況下不會阻止讀取,但它會阻止 5.6 嗎?
是的,數據庫中的所有表都是 InnoDB
謝謝!
如果您的表是 InnoDB 格式,請嘗試 pt-online-schema-change(來自 Percona Toolkit),例如:
pt-online-schema-change --charset utf8 \ --alter 'ADD COLUMN baz INT UNSIGNED' \ --execute -h db-test -u username -p password D=foo,t=bar