这里有非常新的MySQL用户。我有两个问题要问社区。
我运行了myisamchk,而corrupton似乎不是一个问题。下面是原木。
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'@'%'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继续让我在没有密码的情况下登录。
macbook-pro-8: $ /usr/local/mysql/bin/mysql -u project123
Welcome to the MySQL monitor. Commands end with ; or \g.我做错了什么?
发布于 2012-08-16 20:12:52
显然,在mysql.user中有匿名用户
只需运行以下命令:
DELETE FROM mysql.user WHERE user='';
DELETE FROM mysql.user WHERE host='';
FLUSH PRIVILEGES;我曾经有过关于这个问题的帖子。
Aug 14, 2011:无法从mysql.user删除匿名用户Jan 18, 2012:MySQL错误:用户‘a’@‘localhost’的访问被拒绝(使用密码:是)Feb 17, 2012:MySQL :为什么mysql.db中有“测试”条目?Apr 09, 2012:已删除Mysql用户Jun 09, 2012:为什么所有的特权db。*允许访问所有数据库?Jun 26, 2012:保护mysql的最佳实践另一个观察:您试图运行mysql> drop user project;
根据mysql的观点,用户被识别为user@host
要查看所有定义的用户,请运行以下查询:
SELECT CONCAT('''',user,'''@''',host,'''') MySQLUser FROM mysql.user;你应该看到这样的东西:
+--------------------------+
| MySQLUser |
+--------------------------+
| 'advdb'@'%' |
| 'anadb'@'%' |
| 'dmvadb'@'%' |
| 'dmvanswers'@'%' |
| 'dmvdb'@'%' |
| 'dmvqnadb'@'%' |
| 'icdb'@'%' |
| 'jjohnston'@'%' |
| 'localdb'@'%' |因此,当您删除用户时,最好使用这种样式格式,如下所示。
例如,要删除用户icdb,必须运行
DROP USER 'icdb'@'%';发布于 2012-08-16 02:54:55
查看mysql中的用户表。
尝试哪些可能具有一些全局DB特权。
SELECT Host,User,Password FROM mysql.user;我确信这不再是推荐的了,但是我手动从这些表中删除记录并调用
FLUSH PRIVILEGES;https://dba.stackexchange.com/questions/22620
复制相似问题