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

除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 MySQLMySQL-client-advanced-5.5.21-1.rhel5MySQL-server-advanced-5.5.21-1.rhel5[root@clustertest3 ~]# cat /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=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.logpid-file=/var/run/mysqld/mysqld.pid[root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.socksrwxrwxrwx 1 mysql mysql 0 Nov  30 11:09 /var/lib/mysql/mysql.sockmysql> 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 -pEnter password:ERROR 1045 (28000): Access denied for user 'golden'@'localhost' (using password: YES)这是我面临的问题,对此有解决方案吗?
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

不要将所有数据库的所有特权授予非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

TA贡献1111条经验 获得超0个赞

如果要使用远程计算机(示例工作台)等连接到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
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

看起来您正在尝试使用户'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.sycdn.imooc.com//5d85cd550001668e07840502.jpg

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


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 777 浏览
慕课专栏
更多

添加回答

举报

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