19

刚开始用mysql。我使用 root 登录并按照在线参考创建一个新用户:

mysql> CREATE USER 'abc'@'%' IDENTIFIED BY '111111';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'abc'@'%' WITH GRANT OPTION;

然后我退出并尝试使用新用户登录:

mysql --user=abc --password=111111 mysql

但收到一条错误消息:

用户 'abc'@'localhost' 的访问被拒绝(使用密码:YES)

我错过了什么吗?

4

6 回答 6

22

运行它来工作

FLUSH PRIVILEGES

一旦您为您的用户提供了所需的权限,您将需要 FLUSH 权限才能完成设置并使新设置生效。为此,请在 SQL 命令提示符下运行此命令:

[编辑]
如果你也想从 localhost 连接,你应该创建另一个帐户。

必须拥有“用户”的两个帐户才能以“用户”身份从任何地方连接。如果没有 localhost 帐户,当“用户”从本地主机连接时,由 mysql_install_db 创建的 localhost 的匿名用户帐户将优先。因此,“用户”将被视为匿名用户。这样做的原因是匿名用户帐户具有比 'user'@'%' 帐户更具体的主机列值,因此在用户表排序顺序中更早。)

仅供参考:http ://dev.mysql.com/doc/refman/5.5/en/adding-users.html

于 2012-12-31T06:26:09.430 回答
4

就我而言,问题出在密码上。在使其包含较少量的特殊字符后,它开始工作。

于 2021-02-18T20:27:02.343 回答
2

通常这对我有用:

登录到 MySQL

mysql -u root -p

创建 MySQL 用户

CREATE USER 'username'@'ip' IDENTIFIED BY '*password*';

允许该用户完全控制

GRANT ALL PRIVILEGES ON * . * TO 'username'@'ip';

重新加载权限表

FLUSH PRIVILEGES;

离开 MySQL 界面

exit;

允许从特定 ip 到端口 3306 的外部访问

sudo ufw allow from ip to any port 3306

转到 MySQL 配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

允许 MySQL 寻找外部连接

改变:

bind-address            = 127.0.0.1

至:

bind-address            = 0.0.0.0

在 MySQL 8+ 中,此行不存在,如果有,请添加它

重启 MySQL

sudo systemctl restart mysql

但是,由于某种原因,我仍然遇到“用户拒绝访问”的问题,所以如果有人可以通过解决我的问题来扩展我的答案,那将是惊人的。

于 2021-02-07T16:23:02.007 回答
2

将主机从 '%' 更改为 'localhost' 对我有用。

但是我不知道为什么。

记得“刷新特权”;

我正在使用mysql Ver 15.1 Distrib 10.1.32-MariaDB,用于 Linux (x86_64),使用 readline 5.1

于 2018-05-05T14:38:20.407 回答
-1

如果您使用 Docker 映像运行 MySQL 版本 8 或更高版本,则应降级该版本。我尝试了 MYSQL 5.7 映像,然后我能够从远程网络连接到用户(不是 root)。

于 2021-10-13T20:29:21.620 回答
-2

就是这个。

grant all privileges on *.* to `root`@`%` identified by 'chnagethepasswordhere'; 
flush privileges;
--helps to excute store procedure as root user

GRANT EXECUTE ON PROCEDURE mbu4u.ratingProcedure TO 'root'@'ip.ip.ip.ip' identified by 'changepasswordheere';

GRANT ALL ON mbu4u.* TO root@'ip.ip.ip.ip' IDENTIFIED BY 'changepassword';

dantheman @祝你有美好的一天!

于 2015-10-28T08:33:15.203 回答