使用MS Access从mysql导入

我比“新手”更新,所以我相信大多数人都会对我的问题大笑。 我已经设法通过搜索的所有信息的帮助安装Ubuntu 16,Mysql,PHPMyadmin,MySql Workbench和其他几个应用程序。 基本上我的大问题是我无法访问连接到Mysql数据库。 以下是我测试时的一些结果。

  1. 远程登录

    [5.7.17-0ubuntu0.16.04.1ZrGZM 3:7mysql_native_password Connection to host lost 
  2. 尝试在Windows 10系统上的Access中获取外部数据。 我选择使用SQL Server身份validation并输入登录ID和PW(我已经为Mysql创建了一个用户)

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

还有更多,当我检查网络时,我被告知编辑/etc/mysql/my.cnf 。 还说:

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

我用'myuser'@'localhost'替换我的实际用户名吗? 那个'mypass'怎么样?

您需要配置用户以进行远程访问。 这将使您可以使用任何客户端(包括Microsoft Access)连接到您的数据库。

首先通过编辑mysql服务器的配置文件来启用对数据库的远程访问。 您可以在/etc/mysql/mysql.conf.d/mysqld.conf找到它

查找此链接并确保其已注释掉或删除此行:

 # bind-address = 127.0.0.1 

如果您对文件进行了更改,请确保使用以下命令重新启动mysql服务器:

 $ sudo systemctl restart mysql 

现在您必须创建用户,或确保当前用户可以从远程连接。 您可以使用终端命令执行以下步骤:

 $ mysql -u root -p

使用root密码回答密码提示并继续:

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

该命令的变量是mydatabasemyusermypass

 mydatabase - 数据库的名称
 myuser - 有权访问数据库的用户
 mypass - 用户的密码

如果用户不存在,该命令将创建用户,并为用户分配密码“mypass”或您在该字段中放置的任何内容。 如果用户已经存在,那么只需将“mypass”设为该用户的密码即可。

您可以通过此计算机或任何计算机的命令行运行此连接来测试连接。

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

当您按ENTER ,它将提示您输入密码,如果凭据正确,则将您连接到服务器。 然后,您可以运行它来加载数据库:

 mysql> use mydatabase; 

命令行测试是客户端应用程序(在本例中为Microsoft Access)将自动执行的操作。 当您配置客户端,Microsoft Access(或任何其他GUI数据库客户端,它会询问您这些事情:

  • 主机(使用主机名或ipaddress提供)
  • 数据库
  • 用户身份
  • 密码

如果用户不存在,该命令将创建用户,并为用户分配密码“mypass”或您在该字段中放置的任何内容。 如果用户已经存在,那么只需将“mypass”设为该用户的密码即可。

您可以通过从此计算机或任何计算机的commanline运行此连接来测试连接。

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

当您按ENTER ,它将提示您输入密码,如果凭据正确,则将您连接到服务器。 然后,您可以运行它来加载数据库:

 mysql> use mydatabase; 

命令行测试是客户端应用程序(在本例中为Microsoft Access)将自动执行的操作。 当您配置客户端,Microsoft Access(或任何其他GUI数据库客户端,它会询问您这些事情:

  • 主机(使用主机名或ipaddress提供)
  • 数据库
  • 用户身份
  • 密码

默认的mysql端口是3306 。 如果您将遥控器配置为不同,您的客户端将为您提供提供端口的选项。 您必须将路由器设置为端口转发到您的mysql服务器计算机。 如果您将服务器配置为与默认服务器不同,则这将是端口3306或其他端口。

要在指定要使用的端口时测试命令行的连接:

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

如果从默认设置更改服务器,请更改3306以匹配服务器的配置方式。

至于你的问题,“我是否用’myuser’替换”localhost’”, myuser可以用你的名字,或你决定给它的名字。 如果你想让它成为同一个名字,这取决于你。