Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Link de banco de dados Oracle - equivalente ao MySQL?


Posso pensar em quatro possíveis soluções alternativas para o seu cenário:
  1. use nomes de tabela totalmente qualificados ao consultar o externo tabela. MySQL suporta o dbname.tablename -sintaxe para acessar tabelas fora do escopo atual do banco de dados. Isso requer que o usuário conectado no momento tenha os direitos apropriados para ler a tabela solicitada em outro banco de dados físico.
  2. se seu banco de dados externo estiver sendo executado em um servidor MySQL diferente (na mesma máquina ou por meio de uma conexão de rede), você poderá usar a replicação para atualizar constantemente uma cópia somente leitura da tabela remota. A replicação só é possível se você estiver executando duas instâncias MySQL separadas.
  3. use o FEDERADO Mecanismo de armazenamento MySQL para virtualmente importar a tabela em seu banco de dados atual. Isso elimina o requisito de conceder ao usuário atual direitos de acesso ao segundo banco de dados, pois as credenciais são fornecidas com o CREATE TABLE -instrução ao usar o FEDERATED motor de armazenamento. Isso também funciona com os bancos de dados executados em diferentes servidores físicos ou diferentes instâncias do MySQL. Eu acho que esta será a opção de desempenho mais pobre e tem alguns limitações - mais ou menos importante dependendo do seu cenário de uso e seus requisitos.
  4. Esta é uma extensão do método 1. Em vez de ter que especificar os nomes de tabela totalmente qualificados toda vez que você solicitar informações de seu externo tabela, você simplesmente pode criar uma view dentro de seu banco de dados atual com base em um simples SELECT <> FROM <>.<> . Isso se assemelha à maneira, o FEDERATED -method funciona, mas é limitado a tabelas na mesma instância do MySQL.
    Pessoalmente, eu consideraria o método (4) como o mais útil - mas os outros também podem ser possíveis soluções alternativas, dependendo dos seus requisitos.