使初始 MySQL 账户安全,为匿名账户指定密码或删掉匿名账户
2013-08-18 21:40
375 查看
转载自:http://www.oicto.com/mysql-safe-anonymous/
要想为匿名账户指定密码,可以使用 SET PASSWORD 或
UPDATE。
在两种情况中,一定要使用 PASSWORD() 函数为密码加密。
在 Windows 中使用 PASSWORD 的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');
在 Unix 中使用 PASSWORD 的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');
用服务器主机名替换第二个 SET PASSWORD 语句中的 host_name。
这是指定的 use r表中的 root non-localhost 记录的 Host 列名。
如果你不知道是哪个主机名,在 SET PASSWORD 之前执行下面的语句:
mysql> SELECT Host, User FROM mysql.user;
查找在 User 列有 root 和在 Host 列没有 localhost 的记录。
然后在第二个 SET PASSWORD 语句中使用该 Host 值。
为匿名账户指定密码的另一种方法是使用 UPDATE 直接修改用户表。
用 root 连接服务器,运行 UPDATE 语句为相应 user 表记录的 Password 列指定一个值。
在 Windows 和 Unix 中的过程是相同的。下面的 UPDATE 语句同时为两个匿名账户指定密码:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = '';
mysql> FLUSH PRIVILEGES;
在 user 表中直接使用 UPDATE 更新密码后,必须让服务器用 FLUSH PRIVILEGES 重新读授权表。
否则,重新启动服务器前,不会使用更改。
如果你宁愿删除匿名账户,操作方法是:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
可以在 Windows 和 Unix 中使用 DELETE 语句。
在 Windows 中,如果你只想删掉具有与 root 相同权限的匿名账户,方法为:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;
该账户允许匿名访问,但是拥有全部的权限,因此删掉它可以提高安全。
要想为匿名账户指定密码,可以使用 SET PASSWORD 或
UPDATE。
在两种情况中,一定要使用 PASSWORD() 函数为密码加密。
在 Windows 中使用 PASSWORD 的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');
在 Unix 中使用 PASSWORD 的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');
用服务器主机名替换第二个 SET PASSWORD 语句中的 host_name。
这是指定的 use r表中的 root non-localhost 记录的 Host 列名。
如果你不知道是哪个主机名,在 SET PASSWORD 之前执行下面的语句:
mysql> SELECT Host, User FROM mysql.user;
查找在 User 列有 root 和在 Host 列没有 localhost 的记录。
然后在第二个 SET PASSWORD 语句中使用该 Host 值。
为匿名账户指定密码的另一种方法是使用 UPDATE 直接修改用户表。
用 root 连接服务器,运行 UPDATE 语句为相应 user 表记录的 Password 列指定一个值。
在 Windows 和 Unix 中的过程是相同的。下面的 UPDATE 语句同时为两个匿名账户指定密码:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = '';
mysql> FLUSH PRIVILEGES;
在 user 表中直接使用 UPDATE 更新密码后,必须让服务器用 FLUSH PRIVILEGES 重新读授权表。
否则,重新启动服务器前,不会使用更改。
如果你宁愿删除匿名账户,操作方法是:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
可以在 Windows 和 Unix 中使用 DELETE 语句。
在 Windows 中,如果你只想删掉具有与 root 相同权限的匿名账户,方法为:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;
该账户允许匿名访问,但是拥有全部的权限,因此删掉它可以提高安全。
相关文章推荐
- mariadb(MySql)匿名添加root权限账户或者重置root账户密码
- mac中mysql的root账户初始密码忘记的解决办法
- 使初始MySQL账户安全
- 【mysql】三种方法为root账户指定密码
- mysql匿名账号与root账户密码修改方法
- 初始MySQL账户安全
- MySQL与安全:ACLs、账户、密码、权限、远程登录
- liunx下安装mysql没有初始密码的解决方法
- MySQL 密码安全
- mysql 5.7 修改初始密码
- mysql安装初始密码不是空的,怎么办
- Linux下修改MySQL初始密码、开启远程登录、授权远程登录用户
- mysql 重置root 账户密码
- 多名日本女星的iCloud账户被盗、私照外泄,你的密码安全吗?
- Mysql没有初始密码(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO))
- Mac安装MySQL初始密码设置
- Centos7.3下mysql5.7.18安装并修改初始密码的方法
- xampp下mysql初始密码的修改
- MySQL允许root帐号远程登录及设置root账户密码
- Mac下Mysql初始密码