对于一个刚安装好的 mysql,其安全性是很差的,因为任何使用 mysql 的用户都能使用和更改数据库的资料,因此需要为 mysql 的 root 用户设置口令(mysql 的 root 与 linux 的 root 是两回事,它们之间没有任何关系).
为 root 设置口令需要用到 mysqladmin 这个命令,因为我安装的 mysql 在 /usr/local 下,因此,我到目录 /usr/local/bin 下运行这个命令:
#./mysqladmin -u root password "passwd"
"passwd" 是我为 root 设置的口令明文;
好了,我在 root 用户下运行 mysql:
#mysql
被拒绝了,再用下面的命令运行 mysql:
#mysql -uroot -p
出现:enter password:
我输入密码后,成功登入了,因此不必再担心有其他用户随意使用数据库了,接着又出现问题了,root 权限在 mysql 里有控制一切的权利,当有用户请求使用数据库时,把 root 的密码告诉用户也是很危险的,所以我考虑在数据库再设置其他的用户帐号,并将适当的权限开放给他.
创建新用户和授权,需要用到下面这个语法:
grant privileges on what to user identified by "passwd" with grant option
privileges 分配权限
what 权限的应用级别
user 用户
passwd 密码明文
with grant option 使用这个子句时将允许用户将其权限分配给他人.
我准备创建 team 的用户,并只允许他使用 team 数据库的权限,所以我使用了以下的名令:
#mysql -uroot -ppasswd
先运行 mysql
>grant all on team.* to team@localhost identified by "team";
在这我给了 team 用户控制 team 数据库的所有权限,并且不允许他分配权限给其它人.
这样当用户请求使用数据库时,我只需将 team 用户的密码交给他就行了.
另外在 web 页控制 mysql 数据库的工具 phpmyadmin 是个非常强大而又危险的工具,为了数据库的安全,最好在使用这个工具时,让用户通过认证以策安全,我会在介绍 apache 服务器配置时介绍如何设置认证.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器