linux – Ubuntu上mysql的多个root用户帐户
我正在使用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" 如果使用此方法,您需要注意:
有关MySQL site的更多信息 我同意您在日常任务中使用单独帐户的想法,您只需要找到适合您想要的权限的正确组合,而不会过于沉重. 我还会定期查看您的服务器日志(或者有一个工具)来监视数据库登录,例如root用户登录. 您可以采取更多措施来保护您的安装,但这很容易超出此范围. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |