Usando o MS Access para importar do mysql

1

Sou mais novo do que um "novato", então tenho certeza que a maioria vai rir da (s) minha (s) pergunta (s). Eu consegui instalar o Ubuntu 16, Mysql, PHPMyadmin, MySql Workbench e vários outros aplicativos com a ajuda de todas as informações através de pesquisas. Basicamente, meu grande problema é que não consigo acessar para me conectar ao banco de dados Mysql. Aqui estão alguns dos resultados quando testo coisas.

  1. Telnet

    [5.7.17-0ubuntu0.16.04.1Z<L!k8Mk[>rGZM                                              3:7mysql_native_password
    Connection to host lost
    
  2. Tentando obter dados externos no sistema Access no Windows 10. Eu seleciono Com autenticação do SQL Server e insiro o ID de login & amp; PW (eu criei um usuário para o Mysql já)

    Connection Failed: SQLState: '01000' SQL Server Error: 2
    

Houve mais e quando verifiquei a web que me disseram para editar /etc/mysql/my.cnf . Também disse para:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

Eu substituo 'myuser'@'localhost' pelo meu nome de usuário real? e quanto a 'mypass' ?

    
por Chris 26.01.2017 / 04:50

1 resposta

2

Você precisa configurar um usuário para acesso remoto. Isso permitirá que você se conecte ao seu banco de dados usando qualquer cliente, incluindo o Microsoft Access.

Primeiro, habilite o acesso remoto ao seu banco de dados, editando o arquivo de configuração do servidor mysql. Você encontrará isso em /etc/mysql/mysql.conf.d/mysqld.conf

Procure por este link e verifique se ele está comentado ou remova esta linha:

# bind-address          = 127.0.0.1

Se você fez uma alteração no arquivo, certifique-se de reiniciar o servidor mysql com:

$ sudo systemctl restart mysql

Agora você terá que criar um usuário ou garantir que um usuário atual possa se conectar a partir do controle remoto. Você pode fazer isso com estas etapas de um comando do terminal:

$ mysql -u root -p

Responda à solicitação de senha com a senha de root e continue com:

mysql> GRANT ALL ON mydatabase.* TO 'myuser'@'%' IDENTIFIED BY 'mypass';

As variáveis desse comando são mydatabase , myuser e mypass .

mydatabase    - The name of the database
myuser        - The user with access to the database
mypass        - The password for the user

O comando criará o usuário se ele não existir e atribuirá a senha "mypass" ou o que você colocar nesse campo para o usuário. Se o usuário já existir, ele apenas fará com que o "mypass" seja a senha desse usuário.

Você pode testar a conexão executando isso no commanline deste computador ou de qualquer computador.

$ mysql -h [hostname/or IP address] -u myuser -p

Quando você pressionar ENTER , ele solicitará sua senha e conectará você ao servidor se as credenciais estiverem corretas. Você pode então executar isso para carregar o banco de dados:

mysql> use mydatabase;

O teste de linha de comando é o que o aplicativo cliente (nesse caso, o Microsoft Access) executaria automaticamente. Quando você configura o cliente, o Microsoft Access (ou qualquer outro cliente de banco de dados GUI , ele solicita as seguintes coisas:

  • host (que você fornece com o nome do host ou ipaddress)
  • banco de dados
  • userId
  • senha

O comando criará o usuário se ele não existir e atribuirá a senha "mypass" ou o que você colocar nesse campo para o usuário. Se o usuário já existir, ele apenas fará com que o "mypass" seja a senha desse usuário.

Você pode testar a conexão executando isto no commanline deste computador ou de qualquer computador.

$ mysql -h [hostname/or IP address] -u myuser -p

Quando você pressionar ENTER , ele solicitará sua senha e conectará você ao servidor se as credenciais estiverem corretas. Você pode então executar isso para carregar o banco de dados:

mysql> use mydatabase;

O teste de linha de comando é o que o aplicativo cliente (nesse caso, o Microsoft Access) executaria automaticamente. Quando você configura o cliente, o Microsoft Access (ou qualquer outro cliente de banco de dados GUI , ele solicita as seguintes coisas:

  • host (que você fornece com o nome do host ou ipaddress)
  • banco de dados
  • userId
  • senha

A porta padrão do mysql é 3306 . Seu cliente lhe dará uma opção para fornecer a porta se você configurou seu controle remoto para ser diferente. Você terá que configurar seu roteador para o encaminhamento de portas para o seu computador servidor mysql. Esta será a porta 3306 ou uma diferente se você configurar seu servidor diferente do padrão.

Para testar a conexão a partir da linha de comando, especificando a porta que você usaria:

$ mysql -h [hostname/or IP address] --port 3306 -u myuser -p

Altere o 3306 para corresponder ao modo como você configurou seu servidor, se você o alterar do padrão.

Quanto à sua pergunta, "Eu substituo 'myuser' @ 'localhost'", o myuser pode pelo seu nome, ou qualquer outro nome que você decida dar a ele. Cabe a você se você quer que seja o mesmo nome.

    
por L. D. James 26.01.2017 / 11:50