在mac.bash文件中运行mysql语句

nvbavucw  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(343)

我正在用终端在mac上运行一个文本文件。该文件将连接到mysql服务器并将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 'root@xxx.xxx.xxx.xxx': 
qwerty
MySQL Error 1045 (28000): Access denied for user 'root'@'xxx.xxx.xxx.xxx'
(using password: YES)
wvyml7n5

wvyml7n51#

你的问题可能是由几个原因造成的,但这是最有可能的一个原因:
mysql不仅根据用户名和密码授予或拒绝访问,而且还根据访问来自的主机。换句话说,您可能会遇到这样一种情况:您可以使用某个用户名和密码从某个主机登录到mysql数据库,但是您不能使用相同的用户名和密码从另一个主机登录到同一个数据库。
因此,我要做的第一件事是检查相应用户的访问权限(即 root 在你的情况下)。要做到这一点,您必须登录到您的mysql服务器(当然,在这里使用主机和用户名),并至少查看 db , host 以及 user 表格 mysql 数据库。

相关问题