开发者社区> 问答> 正文

除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) 这是我面临的问题,对此有解决方案吗?

展开
收起
保持可爱mmm 2020-05-11 10:48:45 1006 0
2 条回答
写回答
取消 提交回答
  • 通过管理员进入MySQL

    use mysql
    
    update user set host='%' where user='golden'
    
    2021-10-11 17:50:42
    赞同 展开评论 打赏
  • 不要将所有数据库的所有特权授予非root用户,这是不安全的(并且您已经具有该角色的“ root”)

    GRANT 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; 看看发生了什么来源:stack overflow

    2020-05-11 10:49:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载