在MAC .bash文件中运行MySQL语句

问题描述 投票:-1回答:1

我正在尝试使用终端在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 macos terminal
1个回答
0
投票

你的问题可能是由几个原因造成的,但这是最有可能的一个恕我直言:

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

因此,我要做的第一件事是检查相应用户的访问权限(在您的情况下是root)。要做到这一点,你必须登录你的MySQL服务器(当然使用其中有效的主机和用户名),并至少查看db数据库的hostusermysql表。

© www.soinside.com 2019 - 2024. All rights reserved.