首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql在mac上复制根用户

问mysql在mac上复制根用户
EN

Stack Overflow用户
提问于 2014-10-24 02:43:11
回答 1查看 123关注 0票数 0

我只是按照这里的说明设置mysql:

http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/

我尝试使用mysqladmin命令设置root密码。其结果是,现在我可以使用新密码或没有密码登录mysql。我认为这是因为一个根用户( root @localhost)没有密码,而另一个根用户拥有新的密码。

我应该在这里删除任何根用户吗?我不明白为什么本地主机和macbook-pro.local都存在两个根用户。

代码语言:javascript
复制
+------+-------------------+
| User | Host              |
+------+-------------------+
| root | 127.0.0.1         |
| root | ::1               |
|      | localhost         |
| root | localhost         |
|      | macbook-pro.local |
| root | macbook-pro.local |
+------+-------------------+

因此,通过添加密码字段,我得到了另一个表示:

代码语言:javascript
复制
mysql> select User,Host,password from mysql.user;
+------+-------------------+-------------------------------------------+
| User | Host              | password                                  |
+------+-------------------+-------------------------------------------+
| root | localhost         | *xxx |
| root | macbook-pro.local |                                           |
| root | 127.0.0.1         |                                           |
| root | ::1               |                                           |
|      | localhost         |                                           |
|      | macbook-pro.local |                                           |
+------+-------------------+-------------------------------------------+

所以这让我明白,有些用户的字符串是空的,我想根本就没有重复。但是,如何才能不让用户只使用mysql -u root登录呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-24 03:18:48

为所有root用户设置密码:

代码语言:javascript
复制
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('cleartext password');
SET PASSWORD FOR 'root'@'macbook-pro.local' = PASSWORD('cleartext password');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('cleartext password');
SET PASSWORD FOR 'root'@'::1' = PASSWORD('cleartext password');

如果不希望any用户可以在没有用户名和密码的情况下登录到mysql,请将any用户从列表中删除:

代码语言:javascript
复制
DROP USER ''@'localhost'; 
DROP USER ''@'macbook-pro.local';

注意,'' (空白)用户是any用户。如果您不为它们设置密码,任何用户(人、机器)都可以使用any (意思是任何东西、任何单词、任何短语)登录到mysql中,而不需要密码。但是,这里的两个空白用户是mysql在安装mysql服务时使用的,而且它没有授予访问权限。如果您已经安装了mysql服务,则可以安全地丢弃它们。

see reference1

see reference2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26540677

复制
相关文章

相似问题

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