我使用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访问并创建了一个别名,我只想尽我所能阻止一些混蛋试图抓住它.
@H_403_15@解决方法 虽然它们都被命名为“root”,但MysqL将每个用户条目视为唯一帐户.该帐户基于“用户”@“主机”组合.他们每个人都可以拥有一个单独的密码,尽管这可能很容易成为帐户管理的噩梦.您可以通过多种方式更改帐户的密码,并且根据您的 *** 作方式,您可能需要为每个帐户重复这些密码以使其保持同步.
第一种方式(可能是大多数人都熟悉的方法)是使用SET PASSWORD
shell> MysqL -u root -pMysqL> 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 -pMysqL> 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 theroot
account passwords does not work for the'root'@'127.0.0.1'
or'root'@'::1'
account. Use theSET PASSWORD
method shown earlIEr.
有关MySQL site的更多信息
我同意您在日常任务中使用单独帐户的想法,您只需要找到适合您想要的权限的正确组合,而不会过于沉重.
我还会定期查看您的服务器日志(或者有一个工具)来监视数据库登录,例如root用户登录.
您可以采取更多措施来保护您的安装,但这很容易超出此范围.
总结以上是内存溢出为你收集整理的linux – Ubuntu上mysql的多个root用户帐户全部内容,希望文章能够帮你解决linux – Ubuntu上mysql的多个root用户帐户所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)