首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql上管理用户的初学者问题

在mysql上管理用户的初学者问题
EN

Database Administration用户
提问于 2012-08-16 02:50:00
回答 2查看 243关注 0票数 2

这里有非常新的MySQL用户。我有两个问题要问社区。

  1. 我似乎创建了一个我无法删除/删除的帐户。
  2. 我似乎无法让MySQL实际上要求新创建的帐户需要密码,即使我在创建过程中指定了密码。

我运行了myisamchk,而corrupton似乎不是一个问题。下面是原木。

代码语言:javascript
复制
mysql -u root -p
use mysql
select * from db\G;


*************************** 3. row ***************************
      Host: localhost
      Db: projectdb
      User: project
      Select_priv: Y
      Insert_priv: Y
      Update_priv: Y
      Delete_priv: Y
      Create_priv: Y
        Drop_priv: Y
       Grant_priv: Y
      References_priv: Y
       Index_priv: Y
       Alter_priv: Y
Create_tmp_table_priv: Y
 Lock_tables_priv: Y
 Create_view_priv: Y
   Show_view_priv: Y
Create_routine_priv: Y
 Alter_routine_priv: Y
     Execute_priv: Y
       Event_priv: Y
     Trigger_priv: Y

mysql> drop user project;
ERROR 1396 (HY000): Operation DROP USER failed for 'project'@'%'
代码语言:javascript
复制
代码语言:javascript
复制
CREATE USER project123 IDENTIFIED BY 'project123';
Query OK, 0 rows affected (0.00 sec)

GRANT ALL ON projectdb.* TO project123 IDENTIFIED BY 'project123';
Query OK, 0 rows affected (0.00 sec)

quit;

然后,MySQL继续让我在没有密码的情况下登录。

代码语言:javascript
复制
macbook-pro-8: $ /usr/local/mysql/bin/mysql -u project123
Welcome to the MySQL monitor.  Commands end with ; or \g.

我做错了什么?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-08-16 20:12:52

显然,在mysql.user中有匿名用户

只需运行以下命令:

代码语言:javascript
复制
DELETE FROM mysql.user WHERE user='';
DELETE FROM mysql.user WHERE host='';
FLUSH PRIVILEGES;

我曾经有过关于这个问题的帖子。

另一个观察:您试图运行mysql> drop user project;

根据mysql的观点,用户被识别为user@host

要查看所有定义的用户,请运行以下查询:

代码语言:javascript
复制
SELECT CONCAT('''',user,'''@''',host,'''') MySQLUser FROM mysql.user;

你应该看到这样的东西:

代码语言:javascript
复制
+--------------------------+
| MySQLUser                |
+--------------------------+
| 'advdb'@'%'              |
| 'anadb'@'%'              |
| 'dmvadb'@'%'             |
| 'dmvanswers'@'%'         |
| 'dmvdb'@'%'              |
| 'dmvqnadb'@'%'           |
| 'icdb'@'%'               |
| 'jjohnston'@'%'          |
| 'localdb'@'%'            |

因此,当您删除用户时,最好使用这种样式格式,如下所示。

例如,要删除用户icdb,必须运行

代码语言:javascript
复制
DROP USER 'icdb'@'%';
票数 1
EN

Database Administration用户

发布于 2012-08-16 02:54:55

查看mysql中的用户表。

尝试哪些可能具有一些全局DB特权。

代码语言:javascript
复制
SELECT Host,User,Password FROM mysql.user;

我确信这不再是推荐的了,但是我手动从这些表中删除记录并调用

代码语言:javascript
复制
FLUSH PRIVILEGES;
票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/22620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档