MySQL的安全问题从安装开始说起

当你安装 MySQL 完后、会有个提示:

[root@localhost Desktop]# rpm -ivh MySQL-server-5.5.28-1.rhel5.i386.rpm
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:

/usr/bin/mysql_secure_installation

**对于这 2 种方式、我个人认为、mysql_secure_installation 比较好用***

which will also give you the option of removing the test
databases and anonymous user created by default
. This is
strongly recommended for production servers.

**我觉得、这里的关键应该是能够把匿名用户给删掉***
See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installationgo a bit smoother.

You should remove them before moving into a production environment

**匿名用户的危害****

所以、生产环境请务必删之!!

我选择 mysql_secure_installation

[root@localhost Desktop]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
... skipping.

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n
... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

(0)

相关推荐

  • MySQL数据库安全配置介绍第1/2页

    1.前言: MySQL数据库是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具有功能强.使用简便.管理方便.运行速度快.安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序,特别是与PHP更是黄金组合,运用十分广泛.MySQL数据库的安全配置也是很有必要的,现在的MySQL数据库中信息的安全性常常受到威胁,故安全配置必不可少. 由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进

  • 新安装的MySQL数据库需要注意的安全知识

    在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包含授权 表的mysql数据库和初始权限.在Windows上,运行分发中的Setup程序初始化数据目录和mysql数据库.假 定服务器也在运行. 当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的: 你可以从本地主机(localhost)上以root连接而不指定口令.root用户拥有所有权限(包括管理权限) 并可做任何事情.(顺便说明,MySQL超级用户与U

  • 浅析MySQL的注入安全问题

    如果把用户输入到一个网页,将其插入到MySQL数据库,有机会离开了发生安全问题被称为SQL注入敞开.这一课将教如何帮助防止这种情况的发生,并帮助保护脚本和MySQL语句. 注入通常发生在处理一个用户输入,如他们的名字,而不是一个名字,他们给一个会在不知不觉中你的数据库上运行的MySQL语句. 永远不要信任用户提供的数据,只能验证后处理这些数据,作为一项规则,这是通过模式匹配.在下面的例子中,用户名被限制为字母数字字符加下划线的长度在8到20个字符之间 - 根据需要修改这些规则. if (preg

  • MySQL安全策略(MySQL安全注意事项)

    导读 MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全? 数据安全如果只靠MySQL应用层面显然是不够的,是需要在多个层面来保护的,包括网络.系统.逻辑应用层.数据库层等. 下面是我们可借鉴的一些安全策略. 1.网络.系统层面 在这个层面可以做很多的事情,我们可以把这些安全要求作为新系统安装时的标准要求,放到自动化装机方案中. 把运行MySQL的服务器放在内网中,不要启用公网: 迫不得已启用公网的话,修改sshd端口到10000以上: 设置防

  • Win2003服务器安装及设置教程 MySQL安全设置图文教程

    为什么要将MySQL数据库必须运行在"普通用户"的状态下呢?与MSSQL SERVER一样,因为如果使用了"超级管理员"或者"本地系统用户"来运行"MySQL数据库",就会被黑客利用,利用SYSTEM用户权限入侵服务器.因此,为了服务器安全,务必将MySQL运行在"普通用户"的状态下.同时,要对硬盘的权限做好对应的权限设置MySQL才能正常运行. 建立普通用户:单击"开始"-"

  • MySQL数据库安全设置与注意事项小结

    当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的: 你可以从本地主机(localhost)上以root连接而不指定口令.root用户拥有所有权限(包括管理权限) 并可做任何事情.(顺便说明,MySQL超级用户与Unix超级用户有相同的名字,他们彼此毫无关系.) 匿名访问被授予用户可从本地连接名为test和任何名字以test_开始的数据库.匿名用户可对数据库做任 何事情,但无管理权限. 从本地主机多服务器的连接是允许的,不管连接的用户使用一个localhost主机名或真

  • MySQL安全设置图文教程

    复制代码 代码如下: 解压mysql到d:\mysql,编辑my.ini [mysqld] port=3306 basedir="D:/mysql/" datadir="D:/mysql/Data/" tmpdir="d:/mysql/tmp/" default-character-set=utf8 default-storage-engine=MYISAM skip-bdb skip-innodb skip-locking key_buffer

  • 关于加强MYSQL安全的几点建议

    通常我们在连接MySQL的服务器时,要使用到口令.这个口令在网络上传输的时候是加过密的.可是其它的内容都是以明文的方式来进行传输的. 当然如果担心这个不安全的话,可以使用压缩协议(MySQL3.22和以上版本),这样可以让其它的内容不那么容易就被看到.甚至为了让它更加安全,可以考虑下安装ssh.装上它之后,你就能在MySQL服务器与MySQL客户之间,搭建一条加密的TCP/IP连接. 为了使你的MySQL系统更安全,强烈建议考虑以下建议: 1.为每个MySQL用户使用口令.如果你不加设口令的话,

  • MySQL数据库中的安全设置方案

    随着网络的普及,基于网络的应用也越来越多.网络数据库就是其中之一.通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方 便,但也给不法分子造成了可乘之机.由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库.由于以上原因,数据库安全 就显得十分重要.因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能. 帐户安全 帐户是MySQL最简单的安全措施.每一帐户都由用户名.密码以及位置(一般由服务器名.IP或通配符)组成.如用户john从

  • MySQL数据库安全之防止撰改的方法

    MySQL数据库可以通过触发器,使之无法修改某些字段的数据,同时又不会影响修改其他字段. DROP TRIGGER IF EXISTS `members`; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=''; DELIMITER // CREATE TRIGGER `members` BEFORE UPDATE ON `members` FOR EACH ROW BEGIN set new.name = old.name; set new.cellphone =

  • Ubuntu上安装MySQL+问题处理+安全优化

    0.说明 当然,MySQL的安装方法多种多样,在Ubuntu上,你可以采用apt-get的方式安装,这样的好处是:快速方便.基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要apt-get执行完成,那么MySQL也就可以使用了. 但我更倾向于使用源码的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助! 但即便是按照官方文档来安装,你也会遇到各种各样的问题,这里,我将呈现一个完整的过程给大家

随机推荐