-1

我正在尝试使用终端在 Mac 中运行文本文件。该文件将连接到 MySQL 服务器并将 CSV 文件加载到表中。但是当我在终端中运行文件时,它要求输入 MySQL 密码,并在下一步中给出错误消息“ MySQL Error 1045 (28000): Access denied for user 'root'@' hostaddress ' (using password: YES) ” . 我是 Mac 环境的新手,所以无法找到解决方案。

以下是示例:

#! /bin/bash

MysqlHost=server address
MysqlUser=user name
MysqlPass=password
MysqlPort=3306
MysqlDB=test


mysqlsh -h$MysqlHost -u$MysqlUser -D$MysqlDB --sql -e"LOAD DATA LOCAL INFILE 
'/Users/Desktop/file.csv' INTO TABLE tab_list FIELDS 
TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES "

我得到的错误:

MAC6s-MacBook-Air:extracts ABC$ ./batch_test.txt 
Please provide the password for 'root@xxx.xxx.xxx.xxx': 
qwerty
MySQL Error 1045 (28000): Access denied for user 'root'@'xxx.xxx.xxx.xxx'
(using password: YES) 
4

1 回答 1

0

您的问题可能是由多种原因引起的,但恕我直言,这是最有可能的原因之一:

MySQL 授予或拒绝访问不仅基于用户名和密码,还基于访问来自主机。换句话说,您可能会遇到这样一种情况,您可以从某个主机使用某个用户名和某个密码登录到 MySQL 数据库,但是您不能从另一个主机使用相同的用户名和密码登录到同一个数据库,并且密码。

因此,我要做的第一件事是检查各个用户的访问权限(root在您的情况下)。为此,您必须登录到您的 MySQL 服务器(当然使用主机名和用户名)并至少查看数据库的dbhostusermysql

于 2018-09-08T14:53:37.253 回答