本文檔旨在介紹PolarDB-X標準版和企業版與傳統MySQL資料庫之間的相容性情況,協助使用者瞭解在遷移到PolarDB-X過程中可能面臨的相容性問題和相關解決方案。
PolarDB-X是一款高效能、高可用性的分散式資料庫產品,提供了與MySQL高度相容的介面和功能,其主售形態主要分為標準版(集中式形態)和企業版(分布式形態)。作為一款旨在滿足企業級應用情境需求的資料庫解決方案,PolarDB-X標準版在保持MySQL易用性和靈活性的同時,100%相容MySQL文法。此外企業版通過先進的分布式架構設計,在顯著提升了資料庫的擴充性、穩定性和可靠性的同時,高度相容MySQL文法。
標準版
標準版100%相容MySQL,受限於雲產品的安全要求,會主動限制控制類SQL的使用,主要體現在下表的高許可權帳號無許可權執行該語句
。
SQL種類 | SQL文法 | 是否相容 | 備忘 |
資料庫定義語句 | ALTER DATABASE | Y | |
ALTER EVENT | Y | 高許可權帳號無許可權執行該語句。 | |
ALTER FUNCTION | Y | ||
ALTER INSTANCE | Y | 高許可權帳號無許可權執行該語句。 | |
ALTER PROCEDURE | Y | ||
ALTER SERVER | Y | 高許可權帳號無許可權執行該語句。 | |
ALTER TABLE | Y | ||
ALTER TABLESPACE | Y | 高許可權帳號無許可權執行該語句。 | |
ALTER VIEW | Y | ||
CREATE DATABASE | Y | ||
CREATE EVENT | Y | ||
CREATE FUNCTION | Y | ||
CREATE INDEX | Y | ||
CREATE PROCEDURE CREATE FUNCTION | Y | ||
CREATE SERVER | Y | 高許可權帳號無許可權執行該語句。 | |
CREATE SPATIAL REFERENCE SYSTEM | Y | 高許可權帳號無許可權執行該語句。 | |
CREATE TABLE | Y | ||
CREATE TABLESPACE | Y | 高許可權帳號無許可權執行該語句。 | |
CREATE TRIGGER | Y | ||
CREATE VIEW | Y | ||
DROP DATABASE | Y | ||
DROP EVENT | Y | ||
DROP FUNCTION | Y | ||
DROP INDEX | Y | ||
DROP PROCEDURE DROP FUNCTION | Y | ||
DROP SERVER | Y | 高許可權帳號無許可權執行該語句。 | |
DROP SPATIAL REFERENCE SYSTEM | Y | 高許可權帳號無許可權執行該語句。 | |
DROP TABLE | Y | ||
DROP TRIGGER | Y | ||
DROP VIEW | Y | ||
RENAME TABLE | Y | ||
TRUNCATE TABLE | Y | ||
資料動作陳述式 | CALL | Y | |
DELETE | Y | ||
DO | Y | ||
HANDLER | Y | ||
IMPORT TABLE | Y | 高許可權帳號無許可權執行該語句。 | |
INSERT | Y | ||
INTERSECT子句 | Y | 不支援此功能。 | |
LOAD DATA | Y | 高許可權帳號無許可權執行該語句,即無許可權載入伺服器端的檔案。 | |
LOAD XML | Y | 高許可權帳號無許可權執行該語句,即無許可權載入伺服器端的檔案。 | |
REPLACE | Y | ||
SELECT | Y | ||
子查詢 | Y | ||
UPDATE | Y | ||
UNION子句 | Y | ||
WITH(公用表運算式) | Y | ||
事務和鎖定語句 | START TRANSACTION、COMMIT和ROLLBACK語句 | Y | |
SAVEPOINT、ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT語句 | Y | ||
LOCK INSTANCE FOR BACKUP和UNLOCK INSTANCE語句 | Y | 高許可權帳號無許可權執行該語句。 | |
LOCK TABLES和UNLOCK TABLES | Y | ||
SET TRANSACTION | Y | ||
複製語句:用於控制複本伺服器的SQL語句。 | CHANGE MASTER TO | Y | 高許可權帳號無許可權執行該語句。 |
CHANGE REPLICATION FILTER | Y | 高許可權帳號無許可權執行該語句。 | |
CHANGE REPLICATION SOURCE TO | Y | 高許可權帳號無許可權執行該語句。 | |
START REPLICA | Y | 高許可權帳號無許可權執行該語句。 | |
START SLAVE | Y | 高許可權帳號無許可權執行該語句。 | |
STOP REPLICA | Y | 高許可權帳號無許可權執行該語句。 | |
STOP SLAVE | Y | 高許可權帳號無許可權執行該語句。 | |
複製語句:用於控制組複製的SQL語句。 | START GROUP_REPLICATION | Y | 高許可權帳號無許可權執行該語句。 |
STOP GROUP_REPLICATION | Y | 高許可權帳號無許可權執行該語句。 | |
預先處理語句 | PREPARE | Y | |
EXECUTE | Y | ||
DEALLOCATE PREPARE | Y | ||
資料庫管理報表:賬戶管理報表 | ALTER USER | Y | |
CREATE ROLE | Y | ||
CREATE USER | Y | ||
DROP ROLE | Y | ||
DROP USER | Y | ||
GRANT | Y | ||
RENAME USER | Y | ||
REVOKE | Y | ||
SET DEFAULT ROLE | Y | ||
SET PASSWORD | Y | ||
SET ROLE | Y | ||
資料庫管理語句:表維護語句 | ANALYZE TABLE | Y | |
CHECK TABLE | Y | ||
CHECKSUM TABLE | Y | ||
OPTIMIZE TABLE | Y | ||
REPAIR TABLE | Y | ||
資料庫管理語句:組件、外掛程式和可載入函數語句 | 可載入函數的CREATE FUNCTION語句 | Y | |
可載入函數的DROP FUNCTION語句 | Y | ||
INSTALL COMPONENT | Y | ||
INSTALL PLUGIN | Y | ||
UNINSTALL COMPONENT | Y | ||
UNINSTALL PLUGIN | Y | ||
資料庫管理語句:SET語句 | SET文法 | Y | |
SET CHARACTER | Y | ||
SET NAMES | Y | ||
資料庫管理語句:SHOW語句 | SHOW BINARY LOGS | Y | 僅當擁有REPLICATION CLIENT許可權的使用者支援使用該語句。 |
SHOW BINLOG EVENTS | Y | 僅當擁有REPLICATION SLAVE許可權的使用者支援使用該語句。 | |
SHOW CHARACTER SET | Y | ||
SHOW COLLATION | Y | ||
SHOW COLUMNS | Y | ||
SHOW CREATE DATABASE | Y | ||
SHOW CREATE EVENT | Y | ||
SHOW CREATE PROCEDURE | Y | ||
SHOW CREATE TABLE | Y | ||
SHOW CREATE TRIGGER | Y | ||
SHOW CREATE USER | Y | ||
SHOW CREATE VIEW | Y | ||
SHOW DATABASES | Y | ||
SHOW ENGINES | Y | ||
SHOW ERRORS | Y | ||
SHOW EVENTS | Y | ||
SHOW FUNCTION CODE | Y | ||
SHOW FUNCTION STATUS | Y | ||
SHOW GRANTS | Y | ||
SHOW INDEX | Y | ||
SHOW MASTER STATUS | Y | ||
SHOW OPEN TABLES | Y | ||
SHOW PLUGINS | Y | ||
SHOW PRIVILEGES | Y | ||
SHOW PROCEDURE CODE | Y | ||
SHOW PROCEDURE STATUS | Y | ||
SHOW PROCESSLIST | Y | ||
SHOW PROFILE | Y | ||
SHOW PROFILES | Y | ||
SHOW SLAVE | REPLICA STATUS | Y | ||
SHOW STATUS | Y | ||
SHOW TABLE STATUS | Y | ||
SHOW TABLES | Y | ||
SHOW TRIGGERS | Y | ||
SHOW VARIABLES | Y | ||
SHOW WARNINGS | Y | ||
公用程式語句 | DESCRIBE | Y | |
EXPLAIN | Y | ||
HELP | Y | ||
USE | Y |
企業版
企業版高度相容MySQL,受限於分布式架構的複雜性,對於一些進階SQL特性,雖然功能上不支援,但是文法上依然支援,確保了對上下遊生態的相容。
SQL種類 | SQL文法 | 是否相容 | 備忘 |
資料庫定義語句 | ALTER DATABASE | Y | |
ALTER EVENT | N | 不支援此功能 | |
ALTER FUNCTION | Y | ||
ALTER INSTANCE | N | 不支援此功能 | |
ALTER PROCEDURE | Y | ||
ALTER SERVER | N | 不支援此功能 | |
ALTER TABLE | Y | ||
ALTER TABLESPACE | N | 不支援此功能 | |
ALTER VIEW | Y | ||
CREATE DATABASE | Y | ||
CREATE EVENT | N | 不支援此功能 | |
CREATE FUNCTION | Y | ||
CREATE INDEX | Y | ||
CREATE PROCEDURE CREATE FUNCTION | Y | ||
CREATE SERVER | N | 不支援此功能 | |
CREATE SPATIAL REFERENCE SYSTEM | N | 不支援此功能 | |
CREATE TABLE | Y | ||
CREATE TABLESPACE | N | 不支援此功能 | |
CREATE TRIGGER | Y | ||
CREATE VIEW | Y | ||
DROP DATABASE | Y | ||
DROP EVENT | N | 不支援此功能 | |
DROP FUNCTION | Y | ||
DROP INDEX | Y | ||
DROP PROCEDURE DROP FUNCTION | Y | ||
DROP SERVER | N | 不支援此功能 | |
DROP SPATIAL REFERENCE SYSTEM | N | 不支援此功能 | |
DROP TABLE | Y | ||
DROP TRIGGER | Y | ||
DROP VIEW | Y | ||
RENAME TABLE | Y | ||
TRUNCATE TABLE | Y | ||
資料動作陳述式 | CALL | Y | |
DELETE | Y | ||
DO | Y | ||
EXCEPT子句 | Y | ||
HANDLER | N | 不支援此功能 | |
IMPORT TABLE | N | 不支援此功能 | |
INSERT | Y | ||
INTERSECT子句 | Y | ||
LOAD DATA | N | 支援,但預設關閉 | |
LOAD XML | N | 不支援此功能 | |
REPLACE | Y | ||
SELECT | Y | ||
子查詢 | Y | ||
UPDATE | Y | ||
UNION子句 | Y | ||
WITH(公用表運算式) | Y | ||
事務和鎖定語句 | START TRANSACTION、COMMIT和ROLLBACK語句 | Y | |
SAVEPOINT、ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT語句 | Y | ||
LOCK INSTANCE FOR BACKUP和UNLOCK INSTANCE語句 | N | 不支援此功能 | |
LOCK TABLES和UNLOCK TABLES | N | 不支援此功能 | |
SET TRANSACTION | Y | ||
複製語句:用於控制複本伺服器的SQL語句。 | CHANGE MASTER TO | N | 不支援此功能 |
CHANGE REPLICATION FILTER | N | 不支援此功能 | |
CHANGE REPLICATION SOURCE TO | N | 不支援此功能 | |
START REPLICA | N | 不支援此功能 | |
START SLAVE | N | 不支援此功能 | |
STOP REPLICA | N | 不支援此功能 | |
STOP SLAVE | N | 不支援此功能 | |
複製語句:用於控制組複製的SQL語句。 | START GROUP_REPLICATION | N | 不支援此功能 |
STOP GROUP_REPLICATION | N | 不支援此功能 | |
預先處理語句 | PREPARE | Y | |
EXECUTE | Y | ||
DEALLOCATE PREPARE | Y | ||
資料庫管理報表:賬戶管理報表 | ALTER USER | Y | |
CREATE ROLE | Y | ||
CREATE USER | Y | ||
DROP ROLE | Y | ||
DROP USER | Y | ||
GRANT | Y | ||
RENAME USER | Y | ||
REVOKE | Y | ||
SET DEFAULT ROLE | Y | ||
SET PASSWORD | Y | ||
SET ROLE | Y | ||
資料庫管理語句:表維護語句 | ANALYZE TABLE | Y | |
CHECK TABLE | Y | ||
CHECKSUM TABLE | Y | ||
OPTIMIZE TABLE | Y | ||
REPAIR TABLE | N | 不支援此功能 | |
資料庫管理語句:組件、外掛程式和可載入函數語句 | 可載入函數的CREATE FUNCTION語句 | Y | |
可載入函數的DROP FUNCTION語句 | Y | ||
INSTALL COMPONENT | N | 不支援此功能 | |
INSTALL PLUGIN | N | 不支援此功能 | |
UNINSTALL COMPONENT | N | 不支援此功能 | |
UNINSTALL PLUGIN | N | 不支援此功能 | |
資料庫管理語句:SET語句 | SET文法 | Y | |
SET CHARACTER | Y | ||
SET NAMES | Y | ||
資料庫管理語句:SHOW語句 | SHOW BINARY LOGS | Y | 僅擁有REPLICATION CLIENT許可權的使用者可以使用該語句。 |
SHOW BINLOG EVENTS | Y | 僅擁有REPLICATION SLAVE許可權的使用者可以使用該語句。 | |
SHOW CHARACTER SET | Y | ||
SHOW COLLATION | Y | ||
SHOW COLUMNS | Y | ||
SHOW CREATE DATABASE | Y | ||
SHOW CREATE EVENT | Y | ||
SHOW CREATE PROCEDURE | Y | ||
SHOW CREATE TABLE | Y | ||
SHOW CREATE TRIGGER | Y | ||
SHOW CREATE USER | Y | ||
SHOW CREATE VIEW | Y | ||
SHOW DATABASES | Y | ||
SHOW ENGINES | Y | ||
SHOW ERRORS | Y | ||
SHOW EVENTS | Y | ||
SHOW FUNCTION CODE | Y | ||
SHOW FUNCTION STATUS | Y | ||
SHOW GRANTS | Y | ||
SHOW INDEX | Y | ||
SHOW MASTER STATUS | Y | ||
SHOW OPEN TABLES | Y | ||
SHOW PLUGINS | Y | ||
SHOW PRIVILEGES | Y | ||
SHOW PROCEDURE CODE | Y | ||
SHOW PROCEDURE STATUS | Y | ||
SHOW PROCESSLIST | Y | ||
SHOW PROFILE | Y | ||
SHOW PROFILES | Y | ||
SHOW RELAYLOG EVENTS | Y | ||
SHOW REPLICAS | Y | ||
SHOW SLAVE HOSTS | SHOW REPLICAS | N | 不支援此功能 | |
SHOW REPLICA STATUS | Y | ||
SHOW SLAVE | REPLICA STATUS | Y | ||
SHOW STATUS | Y | ||
SHOW TABLE STATUS | Y | ||
SHOW TABLES | Y | ||
SHOW TRIGGERS | Y | ||
SHOW VARIABLES | Y | ||
SHOW WARNINGS | Y | ||
公用程式語句 | DESCRIBE | Y | |
EXPLAIN | Y | ||
HELP | Y | ||
USE | Y |