快捷搜索:  as

使一个新的MySQL安装更安全

在你自己安装了一个新的MySQL办事器后,你必要为MySQL的root用户指定一个目录(缺省无口令),否则假如你忘怀这点,你将你的MySQL处于极不安然的状态(至少在一段光阴内)。

在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包孕授权表的mysql数据库和初始权限。在Windows上,运行分发中的Setup法度榜样初始化数据目录和mysql数据库。假定办事器也在运行。

当你第一次在机械上安装MySQL时,mysql数据库中的授权表是这样初始化的:

你可以从本地主机(localhost)上以root连接而不指定口令。root用户拥有所有权限(包括治理权限)并可做任何工作。(顺便阐明,MySQL超级用户与Unix超级用户有相同的名字,他们彼此毫无关系。)

匿名造访被赋予用户可从本地连接名为test和任何名字以test_开始的数据库。匿名用户可对数据库做任何工作,但无治理权限。

从本地主机多办事器的连接是容许的,不管连接的用户应用一个localhost主机名或真实主机名。如:

% mysql -h localhost test

% mysql -h pit.snake.net test

你以root连接MySQL以致不指定口令的事实只是意味着初始安装不安然,以是作为治理员的你首先要做的应该是设置root口令,然后根据你设置口令应用的措施,你也可以奉告办事看重载授权表是它知道这个改变。(在办事器启动时,它重载表到内存中而可能不知道你已经改动了它们。)

对MySQL 3.22和以上版本,你可以用mysqladmin设置口令:

% mysqladmin -u root password yourpassword

对付MySQL的任何版本,你可以用mysql法度榜样并直接改动mysql数据库中的user授权表:

% mysql -u root mysql

mysql>UPDATE user SET password=PASSWORD("yourpassword") WHERE User="root";

假如你有MySQL的老版本,应用mysql和UPDATE。

在你设置完口令后,经由过程运行下列敕令反省你是否必要奉告办事看重载授权表:

% mysqladmin -u root status

假如办事器仍旧让你以root而不指定口令而连接办事器,重载授权表:

% mysqladmin -u root reload

在你设置了root的口令后(并且假如必要重载了授权表),你将必要在任何时刻以root连接办事器时指定口令。

您可能还会对下面的文章感兴趣: