O PolarDB-X é um serviço de banco de dados distribuído compatível com a sintaxe MySQL. Está disponível em duas edições: Standard Edition (centralizada) e Enterprise Edition (distribuída). Ambas suportam a sintaxe SQL do MySQL, mas cada uma apresenta um perfil de compatibilidade distinto, conforme sua arquitetura.
A Standard Edition é 100% compatível com a sintaxe MySQL. Por motivos de segurança, bloqueia certas instruções SQL de controle: embora aceitas sintaticamente, essas instruções são rejeitadas durante a execução.
A Enterprise Edition é compatível com a sintaxe MySQL, mas não oferece suporte total a alguns recursos avançados. Tais limitações decorrem da complexidade da arquitetura distribuída. As instruções sem suporte são analisadas sem erro para manter a compatibilidade com ferramentas upstream e downstream, porém não são executadas.
Consulte esta página para identificar lacunas de compatibilidade antes de migrar de um banco de dados MySQL tradicional para uma instância PolarDB-X.
Standard Edition
Visão geral das instruções sem suporte
As instruções abaixo são aceitas sintaticamente, mas bloqueadas na execução. Trata-se de uma política de segurança, não de uma limitação arquitetônica.
Instruções de controle (não permitidas):
ALTER EVENT,ALTER INSTANCE,ALTER SERVER,ALTER TABLESPACECREATE SERVER,CREATE SPATIAL REFERENCE SYSTEM,CREATE TABLESPACEDROP SERVER,DROP SPATIAL REFERENCE SYSTEMIMPORT TABLE,LOAD DATA,LOAD XMLCHANGE MASTER TO,CHANGE REPLICATION FILTER,CHANGE REPLICATION SOURCE TOSTART REPLICA,START SLAVE,STOP REPLICA,STOP SLAVESTART GROUP_REPLICATION,STOP GROUP_REPLICATIONLOCK INSTANCE FOR BACKUP,UNLOCK INSTANCE
Sem suporte:
Cláusula
INTERSECT
Tabela de compatibilidade SQL
A Standard Edition do PolarDB-X é 100% compatível com a sintaxe MySQL. Para aumentar a segurança, rejeita solicitações de execução de instruções SQL de controle. As instruções marcadas como Disallowed na coluna Observações são sintaticamente válidas, mas bloqueadas durante a execução.
| Tipo de instrução SQL | Sintaxe SQL | Compatível | Observações |
|---|---|---|---|
| Instruções de definição de dados | ALTER DATABASE | Y | |
| ALTER EVENT | Y | Disallowed | |
| ALTER FUNCTION | Y | ||
| ALTER INSTANCE | Y | Disallowed | |
| ALTER PROCEDURE | Y | ||
| ALTER SERVER | Y | Disallowed | |
| ALTER TABLE | Y | ||
| ALTER TABLESPACE | Y | Disallowed | |
| ALTER VIEW | Y | ||
| CREATE DATABASE | Y | ||
| CREATE EVENT | Y | ||
| CREATE FUNCTION | Y | ||
| CREATE INDEX | Y | ||
| CREATE PROCEDURE / CREATE FUNCTION | Y | ||
| CREATE SERVER | Y | Disallowed | |
| CREATE SPATIAL REFERENCE SYSTEM | Y | Disallowed | |
| CREATE TABLE | Y | ||
| CREATE TABLESPACE | Y | Disallowed | |
| 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 | Disallowed | |
| DROP SPATIAL REFERENCE SYSTEM | Y | Disallowed | |
| DROP TABLE | Y | ||
| DROP TRIGGER | Y | ||
| DROP VIEW | Y | ||
| RENAME TABLE | Y | ||
| TRUNCATE TABLE | Y | ||
| Instruções de manipulação de dados | CALL | Y | |
| DELETE | Y | ||
| DO | Y | ||
| HANDLER | Y | ||
| IMPORT TABLE | Y | Disallowed | |
| INSERT | Y | ||
| Cláusula INTERSECT | Y | Esta cláusula não tem suporte. | |
| LOAD DATA | Y | Disallowed | |
| LOAD XML | Y | Disallowed | |
| REPLACE | Y | ||
| SELECT | Y | ||
| Subconsultas | Y | ||
| UPDATE | Y | ||
| Cláusula UNION | Y | ||
| WITH (expressões de tabela comuns) | Y | ||
| Instruções transacionais e de bloqueio | START TRANSACTION, COMMIT e ROLLBACK | Y | |
| SAVEPOINT, ROLLBACK TO SAVEPOINT e RELEASE SAVEPOINT | Y | ||
| LOCK INSTANCE FOR BACKUP e UNLOCK INSTANCE | Y | Disallowed | |
| LOCK TABLES e UNLOCK TABLES | Y | ||
| SET TRANSACTION | Y | ||
| Instruções para controle de servidores réplica | CHANGE MASTER TO | Y | Disallowed |
| CHANGE REPLICATION FILTER | Y | Disallowed | |
| CHANGE REPLICATION SOURCE TO | Y | Disallowed | |
| START REPLICA | Y | Disallowed | |
| START SLAVE | Y | Disallowed | |
| STOP REPLICA | Y | Disallowed | |
| STOP SLAVE | Y | Disallowed | |
| Instruções para controle de replicação de grupo | START GROUP_REPLICATION | Y | Disallowed |
| STOP GROUP_REPLICATION | Y | Disallowed | |
| Instruções preparadas | PREPARE | Y | |
| EXECUTE | Y | ||
| DEALLOCATE PREPARE | Y | ||
| Instruções de administração de banco de dados: gerenciamento de contas | 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 | ||
| Instruções de administração de banco de dados: manutenção de tabelas | ANALYZE TABLE | Y | |
| CHECK TABLE | Y | ||
| CHECKSUM TABLE | Y | ||
| OPTIMIZE TABLE | Y | ||
| REPAIR TABLE | Y | ||
| Instruções de administração de banco de dados: componentes, plugins e funções carregáveis | Instrução CREATE FUNCTION para funções carregáveis | Y | |
| Instrução DROP FUNCTION para funções carregáveis | Y | ||
| INSTALL COMPONENT | Y | ||
| INSTALL PLUGIN | Y | ||
| UNINSTALL COMPONENT | Y | ||
| UNINSTALL PLUGIN | Y | ||
| Instruções de administração de banco de dados: instruções SET | Sintaxe SET | Y | |
| SET CHARACTER | Y | ||
| SET NAMES | Y | ||
| Instruções de administração de banco de dados: instruções SHOW | SHOW BINARY LOGS | Y | Somente usuários com a permissão REPLICATION CLIENT podem executar esta instrução. |
| SHOW BINLOG EVENTS | Y | Somente usuários com a permissão REPLICATION SLAVE podem executar esta instrução. | |
| 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 | ||
| Instruções utilitárias | DESCRIBE | Y | |
| EXPLAIN | Y | ||
| HELP | Y | ||
| USE | Y |
Enterprise Edition
Visão geral das instruções sem suporte
As instruções a seguir não têm suporte devido à complexidade da arquitetura distribuída. A sintaxe é analisada sem erro para preservar a compatibilidade com ferramentas, mas as instruções não são executadas.
Instruções de definição de dados:
ALTER EVENT,ALTER INSTANCE,ALTER SERVER,ALTER TABLESPACECREATE EVENT,CREATE SERVER,CREATE SPATIAL REFERENCE SYSTEM,CREATE TABLESPACEDROP EVENT,DROP SERVER,DROP SPATIAL REFERENCE SYSTEM
Instruções de manipulação de dados:
HANDLER,IMPORT TABLE,LOAD XMLLOAD DATA— sintaxe aceita, mas desativada por padrão
Instruções transacionais e de bloqueio:
LOCK INSTANCE FOR BACKUP,UNLOCK INSTANCELOCK TABLES,UNLOCK TABLES
Instruções para controle de servidores réplica (nenhuma com suporte):
CHANGE MASTER TO,CHANGE REPLICATION FILTER,CHANGE REPLICATION SOURCE TOSTART REPLICA,START SLAVE,STOP REPLICA,STOP SLAVE
Instruções para controle de replicação de grupo (nenhuma com suporte):
START GROUP_REPLICATION,STOP GROUP_REPLICATION
Manutenção de tabelas: REPAIR TABLE
Gerenciamento de componentes e plugins (nenhum com suporte):
INSTALL COMPONENT,INSTALL PLUGIN,UNINSTALL COMPONENT,UNINSTALL PLUGIN
Instruções SHOW: SHOW SLAVE HOSTS | SHOW REPLICAS
Tabela de compatibilidade SQL
A Enterprise Edition do PolarDB-X é compatível com o MySQL. Devido à complexidade da arquitetura distribuída, não oferece suporte a alguns recursos avançados do MySQL, mas aceita a sintaxe correspondente. Isso preserva a compatibilidade com ecossistemas upstream e downstream.
| Tipo de instrução SQL | Sintaxe SQL | Compatível | Observações |
|---|---|---|---|
| Instruções de definição de dados | ALTER DATABASE | Y | |
| ALTER EVENT | N | Este recurso não tem suporte. | |
| ALTER FUNCTION | Y | ||
| ALTER INSTANCE | N | Este recurso não tem suporte. | |
| ALTER PROCEDURE | Y | ||
| ALTER SERVER | N | Este recurso não tem suporte. | |
| ALTER TABLE | Y | ||
| ALTER TABLESPACE | N | Este recurso não tem suporte. | |
| ALTER VIEW | Y | ||
| CREATE DATABASE | Y | ||
| CREATE EVENT | N | Este recurso não tem suporte. | |
| CREATE FUNCTION | Y | ||
| CREATE INDEX | Y | ||
| CREATE PROCEDURE / CREATE FUNCTION | Y | ||
| CREATE SERVER | N | Este recurso não tem suporte. | |
| CREATE SPATIAL REFERENCE SYSTEM | N | Este recurso não tem suporte. | |
| CREATE TABLE | Y | ||
| CREATE TABLESPACE | N | Este recurso não tem suporte. | |
| CREATE TRIGGER | Y | ||
| CREATE VIEW | Y | ||
| DROP DATABASE | Y | ||
| DROP EVENT | N | Este recurso não tem suporte. | |
| DROP FUNCTION | Y | ||
| DROP INDEX | Y | ||
| DROP PROCEDURE / DROP FUNCTION | Y | ||
| DROP SERVER | N | Este recurso não tem suporte. | |
| DROP SPATIAL REFERENCE SYSTEM | N | Este recurso não tem suporte. | |
| DROP TABLE | Y | ||
| DROP TRIGGER | Y | ||
| DROP VIEW | Y | ||
| RENAME TABLE | Y | ||
| TRUNCATE TABLE | Y | ||
| Instruções de manipulação de dados | CALL | Y | |
| DELETE | Y | ||
| DO | Y | ||
| Cláusula EXCEPT | Y | ||
| HANDLER | N | Este recurso não tem suporte. | |
| IMPORT TABLE | N | Este recurso não tem suporte. | |
| INSERT | Y | ||
| Cláusula INTERSECT | Y | ||
| LOAD DATA | N | Recurso aceito, mas desativado por padrão. | |
| LOAD XML | N | Este recurso não tem suporte. | |
| REPLACE | Y | ||
| SELECT | Y | ||
| Subconsultas | Y | ||
| UPDATE | Y | ||
| Cláusula UNION | Y | ||
| WITH (expressões de tabela comuns) | Y | ||
| Instruções transacionais e de bloqueio | START TRANSACTION, COMMIT e ROLLBACK | Y | |
| SAVEPOINT, ROLLBACK TO SAVEPOINT e RELEASE SAVEPOINT | Y | ||
| LOCK INSTANCE FOR BACKUP e UNLOCK INSTANCE | N | Este recurso não tem suporte. | |
| LOCK TABLES e UNLOCK TABLES | N | Este recurso não tem suporte. | |
| SET TRANSACTION | Y | ||
| Instruções para controle de servidores réplica | CHANGE MASTER TO | N | Este recurso não tem suporte. |
| CHANGE REPLICATION FILTER | N | Este recurso não tem suporte. | |
| CHANGE REPLICATION SOURCE TO | N | Este recurso não tem suporte. | |
| START REPLICA | N | Este recurso não tem suporte. | |
| START SLAVE | N | Este recurso não tem suporte. | |
| STOP REPLICA | N | Este recurso não tem suporte. | |
| STOP SLAVE | N | Este recurso não tem suporte. | |
| Instruções para controle de replicação de grupo | START GROUP_REPLICATION | N | Este recurso não tem suporte. |
| STOP GROUP_REPLICATION | N | Este recurso não tem suporte. | |
| Instruções preparadas | PREPARE | Y | |
| EXECUTE | Y | ||
| DEALLOCATE PREPARE | Y | ||
| Instruções de administração de banco de dados: gerenciamento de contas | 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 | ||
| Instruções de administração de banco de dados: manutenção de tabelas | ANALYZE TABLE | Y | |
| CHECK TABLE | Y | ||
| CHECKSUM TABLE | Y | ||
| OPTIMIZE TABLE | Y | ||
| REPAIR TABLE | N | Este recurso não tem suporte. | |
| Instruções de administração de banco de dados: componentes, plugins e funções carregáveis | Instrução CREATE FUNCTION para funções carregáveis | Y | |
| Instrução DROP FUNCTION para funções carregáveis | Y | ||
| INSTALL COMPONENT | N | Este recurso não tem suporte. | |
| INSTALL PLUGIN | N | Este recurso não tem suporte. | |
| UNINSTALL COMPONENT | N | Este recurso não tem suporte. | |
| UNINSTALL PLUGIN | N | Este recurso não tem suporte. | |
| Instruções de administração de banco de dados: instruções SET | Sintaxe SET | Y | |
| SET CHARACTER | Y | ||
| SET NAMES | Y | ||
| Instruções de administração de banco de dados: instruções SHOW | SHOW BINARY LOGS | Y | Somente usuários com a permissão REPLICATION CLIENT podem executar esta instrução. |
| SHOW BINLOG EVENTS | Y | Somente usuários com a permissão REPLICATION SLAVE podem executar esta instrução. | |
| 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 | Este recurso não tem suporte. | |
| 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 | ||
| Instruções utilitárias | DESCRIBE | Y | |
| EXPLAIN | Y | ||
| HELP | Y | ||
| USE | Y |