我正在尝试使用终端在Mac上运行文本文件。该文件将连接到MySQL Server并将CSV文件加载到表。但是当我在终端中运行该文件时,它要求输入MySQL密码,并在下一步中给出错误消息“MySQL Error 1045(28000):拒绝用户'root'@'hostaddress'(使用密码: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 '[email protected]':
qwerty
MySQL Error 1045 (28000): Access denied for user 'root'@'xxx.xxx.xxx.xxx'
(using password: YES)
你的问题可能是由几个原因造成的,但这是最有可能的一个恕我直言:
MySQL不仅根据用户名和密码授予或拒绝访问权限,还基于访问权限所在的主机授予或拒绝访问权限。换句话说,您可能会遇到这样的情况:您可以使用某个用户名和某个密码从某个主机登录到MySQL数据库,但是您无法使用相同的用户名从另一个主机登录到同一个数据库。密码。
因此,我要做的第一件事是检查相应用户的访问权限(在您的情况下是root
)。要做到这一点,你必须登录你的MySQL服务器(当然使用其中有效的主机和用户名),并至少查看db
数据库的host
,user
和mysql
表。