为了账号安全,请及时绑定邮箱和手机立即绑定

除root用户外,用户'test'@'localhost'的访问被拒绝(使用密码:是)

/ 猿问

除root用户外,用户'test'@'localhost'的访问被拒绝(使用密码:是)

凤凰求蛊 2019-09-21 15:11:39

我遇到了mysql非root / admin用户的问题,我正在按照以下步骤创建用户及其权限,如果我做错了,请纠正我,


我安装mysql上RHEL 5.7 64bit,包在下面所提到的,一旦我做了rpm install我们


使用创建MySQL数据库mysql_install_db,然后

然后启动mysql服务

使用mysql_upgrade我们也在做服务器。

完成此过程后,我可以root以非root用户身份登录,但无法登录服务器:


[root@clustertest3 ~]# rpm -qa | grep MySQL

MySQL-client-advanced-5.5.21-1.rhel5

MySQL-server-advanced-5.5.21-1.rhel5



[root@clustertest3 ~]# cat /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Default to using old password format for compatibility with mysql 3.x

# clients (those using the mysqlclient10 compatibility package).

old_passwords=1


# Disabling symbolic-links is recommended to prevent assorted security risks;

# to do so, uncomment this line:

# symbolic-links=0


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


[root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 0 Nov  30 11:09 /var/lib/mysql/mysql.sock


mysql> CREATE USER 'golden'@'%' IDENTIFIED BY 'password';

Query OK, 0 rows affected (0.00 sec)


mysql> GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%';

Query OK, 0 rows affected (0.00 sec)


mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)


mysql> SELECT USER(),CURRENT_USER();

+----------------+----------------+

| USER()         | CURRENT_USER() |

+----------------+----------------+

| root@localhost | root@localhost |

+----------------+----------------+

1 row in set (0.00 sec)


[root@clustertest3 ~]# mysql -ugolden -p

Enter password:

ERROR 1045 (28000): Access denied for user 'golden'@'localhost' (using password: YES)

这是我面临的问题,对此有解决方案吗?


查看完整描述

3 回答

?
幕布斯7119047

不要将所有数据库的所有特权授予非root用户,这是不安全的(并且您已经具有该角色的“ root”)


GRANT <privileges> ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

该语句创建一个新用户并为其授予选定的特权。IE:


GRANT INSERT, SELECT, DELETE, UPDATE ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

查看文档以查看所有详细权限


编辑:您可以通过此查询查找更多信息(以“ root”身份登录):


select Host, User from mysql.user;

看看发生了什么


查看完整回答
反对 回复 2019-09-21
?
catspeake

如果要使用远程计算机(示例工作台)等连接到MySQL,请使用以下步骤消除在安装了MySQL的OS上的此错误


mysql -u root -p


CREATE USER '<<username>>'@'%%' IDENTIFIED BY '<<password>>';

GRANT ALL PRIVILEGES ON * . * TO '<<username>>'@'%%';

FLUSH PRIVILEGES;

尝试登录到MYSQL实例。

这为我消除了这个错误。


查看完整回答
反对 回复 2019-09-21
?
拉丁的传说

看起来您正在尝试使用户'golden'@'%'成为用户,但名称为'golden'@'localhost'的其他用户正在妨碍/具有优先权。


执行此命令以查看用户:


SELECT user,host FROM mysql.user;

您应该看到两个条目:


1)用户=黄金,主机=%


2)用户=黄金,主机=本地主机


执行以下命令:


DROP User 'golden'@'localhost';

DROP User 'golden'@'%';

重新启动MySQL Workbench。


然后再次执行原始命令:


CREATE USER 'golden'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%';

然后,当您尝试登录MySQL时,请像这样输入:

//img1.mukewang.com/5d85cd550001668e07840502.jpg

点击“测试连接”,然后输入密码“密码”。


查看完整回答
反对 回复 2019-09-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信