幸好,MySQL提供了一个使用方便的命令,这个命令对于加强安装的MySQL的安全大有帮助。单单这个命令具有下列功能:

·更新密码插件;

·为root帐户设置密码(如果已经有了一个密码,你可以选择保留密码或更改密码);

·删除可以从本地主机外面访问的root帐户;

·删除匿名用户帐户

·删除测试数据库和允许任何人访问名称以 test_开头的数据库的权限。

虽然上述任务并不过于复杂,但是它们很容易被忽视,如果你有许多数据库,很耗费时间。

我们不妨加固安装的MySQL服务器的安全。

运行命令

开始加固过程的命令如下:

sudo mysql_secure_installation

一旦运行该命令,会提示你输入MySQL管理员命令。一旦成功输入了密码,加固过程就会开始。然后会要求你同意或不考虑下列操作(见图A)。

1. 更新密码插件(在键盘上按Y代表“确定”,并按回车键)。

2. 选择你想要启用的密码验证政策级别(0 = 弱,1 = 中等,2 = 强)。重要说明:在文章的后面,我给出了关于这个政策级别的警示细节。

3. 更改root密码(若不考虑该选项,按N,那样该工具就不会更改MySQL的管理员密码)。

4. 删除匿名用户(按Y即可删除)。

5. 不允许远程root用户登录(按Y即可禁止)。

6. 删除测试数据库(按Y即可删除)

运行一系列简单的问题,即可加固你安装的MySQL。

回答上述问题后,会提示你按Y,重新装入权限表。就是这样,你安装的MySQL数据库服务器变得更安全了。可以使用mysql -u root -p命令,登录进入到MySQL外壳,然后运行命令SHOW DATABASES,即可看到测试数据库已被删除。

关于密码验证政策的重要说明

选择密码验证政策的级别时要慎重,因为这可能会给已经创建的任何用户带来问题,比如使用WordPress等运行中服务的数据库用户。如果这带来了问题,你得为遇到问题的那个服务/用户更改数据库用户密码。为此,运行下列命令(USER是用户名,NEWPASSWORD是所要使用的新密码):

mysqladmin -u USER -p password NEWPASSWORD

会提示你输入最新的用户密码。一旦身份验证成功,密码就会被更改。

为了测试root用户的远程访问,你将不得不设置MySQL服务器以便接受远程连接;我们会在以后介绍MySQL的远程连接。

恭喜你!你安装的MySQL变得更安全了。只要你的主机平台很可靠,又经常确保操作系统及各服务器是最新版本,应该可以比较放心:你的数据比较安全,远离攻击。

*来源:MottoIN