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

我遇到了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)

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


凤凰求蛊
浏览 778回答 3
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;看看发生了什么

catspeake

如果要使用远程计算机(示例工作台)等连接到MySQL,请使用以下步骤消除在安装了MySQL的OS上的此错误mysql -u root -pCREATE USER '<<username>>'@'%%' IDENTIFIED BY '<<password>>';GRANT ALL PRIVILEGES ON * . * TO '<<username>>'@'%%';FLUSH PRIVILEGES;尝试登录到MYSQL实例。这为我消除了这个错误。

拉丁的传说

看起来您正在尝试使用户'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时,请像这样输入:点击“测试连接”,然后输入密码“密码”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL