加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Ubuntu上mysql的多个root用户帐户

发布时间:2020-12-14 02:33:54 所属栏目:Linux 来源:网络整理
导读:我正在使用ubuntu 12.04并尝试保护安全.我还是 Linux新手,所以我不太清楚如何解释这个. 我使用mysql -u root -p登录到我的root帐户,然后查看我输入的所有用户SELECT User FROM mysql.user;其中显示以下内容 +------------------+| User |+------------------
我正在使用ubuntu 12.04并尝试保护安全.我还是 Linux新手,所以我不太清楚如何解释这个.

我使用mysql -u root -p登录到我的root帐户,然后查看我输入的所有用户SELECT User FROM mysql.user;其中显示以下内容

+------------------+
| User             |
+------------------+
| root             |
| root             |
|                  |
| root             |
|                  |
| Testing          |
| debian-sys-maint |
| phpmyadmin       |
| root             |
+------------------+

我登录phpmyadmin查看每个root帐户的内容,并注意到它们都有不同的主机. Localhost,127.0.0.1,:: 1和另一个IP地址.是否有必要保留所有这些?我目前通过SSH进入我的服务器(使用密钥对)然后通过终端或通过PHPMyadmin直接从我的URL访问MySQL,所以我很确定我只是通过localhost root帐户访问它而不是其他任何一个.

如果我更改我的root密码,所有其他MySQL根帐户都会更改(来自不同的主机)?在这种情况下你们会做些什么来使它更安全?

这就是我在想的事情,但也许有更好的方法.我打算将MySQL root用户的密码更改为长而随机的(并将其写下来),并使用较短的密码创建另一个帐户以进行日常管理.

为了记录,我已经限制了对PHPMyAdmin的IP访问并创建了一个别名,我只想尽我所能阻止一些混蛋试图抓住它.

解决方法

虽然它们都被命名为“root”,但MySQL将每个用户条目视为唯一帐户.该帐户基于“用户”@“主机”组合.他们每个人都可以拥有一个单独的密码,尽管这可能很容易成为帐户管理的噩梦.

您可以通过多种方式更改帐户的密码,并且根据您的操作方式,您可能需要为每个帐户重复这些密码以使其保持同步.

第一种方式(可能是大多数人都熟悉的方法)是使用SET PASSWORD

shell> mysql -u root -p
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');

如果您想一次更新所有内容,可以使用UPDATE

shell> mysql -u root -p
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
    ->     WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

第三种方法,如果使用mysqladmin工具

shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"

如果使用此方法,您需要注意:

The mysqladmin method of setting the root account passwords does not work for the 'root'@'127.0.0.1' or 'root'@'::1' account. Use the SET PASSWORD method shown earlier.

有关MySQL site的更多信息

我同意您在日常任务中使用单独帐户的想法,您只需要找到适合您想要的权限的正确组合,而不会过于沉重.

我还会定期查看您的服务器日志(或者有一个工具)来监视数据库登录,例如root用户登录.

您可以采取更多措施来保护您的安装,但这很容易超出此范围.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读