暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL安全配置详解
2792
8页
19次
2020-03-20
5墨值下载
资源由 www.eimhe.com 美河学习在线收集分享
MySQL 安全配置详解
MySQL 是一个真正的多用户、多线程 SQL 数据库服务器,它是一个客户机/服务
器结构的实现。MySQL 是现在流行的关系数据库中其中的一种,相比其它的数据
库管理系统(DBMS)来说,MySQL 具有小巧、功能齐全、查询迅捷等优点。
MySQL 主要目标是快速、健壮和易用。目前,在大中型企业中已经得到了较好的
运用,但是由于它是多平台的数据库,不可避免的默认配置也是适合多种情况的需
求,因此需要用户需要在自定义的环境下对 MySQL 的使用进行加固。
假如软件本身有严重安全问题,即使安全配置做的更好,也没有用。因此,要首先了解 MySQL
的版本。关于 MySQL 的版本,在 MySQL 官方文档中是这么描述的:
MySQL 5.5 是最新开发的发布系列,是将执行新功能的系列。不久的将来可以使用 Alpha
发行,以便感兴趣的用户进行广泛的测试。
MySQL 5.1 是当前稳定(产品质量)发布系列。只针对漏洞修复重新发布;没有增加会影响
稳定性的新功能。
MySQL 5.0 是前一稳定(产品质量)发布系列。只针对严重漏洞修复和安全修复重新发布;
没有增加会影响该系列的重要功能。
MySQL 4.0 和 3.23 是旧的稳定(产品质量)发布系列。该版本不再使用,新的发布只用来
修复特别严重的漏洞(以前的安全问题)。
Mysql 开发组织不认为有完全的冻结版,因为任何版本均需要对漏洞进行修复和其它修复。
对于“某种程度的冻结”,他们是指他们可以在产品发布中增加一些不会影响当前工作的小东
西。当然,前一系列的相关漏洞修复会移植到后面的系列。
根据官方的建议,至目前为止,推荐使用目前的稳定版本 MySQL 5.1。如果你正在运行一个
老的系统并且想要升级,但是又不想冒险进行非无缝升级,应该升级到最新版本中你正使用
的相同的发布系列(只有版本号的最后部分比你使用的新,例如 5.0 和 5.1 为同一系列)。
一、MySQL 安装
MySQL 可以在 redhat 环境下进行 RPM 安装和 debian 下 apt 安装,但是最新的包一般都是源
码的形式,因此这里选择源码编译安装的方式。
首先登陆官方网站 http://www.mysql.com,下载最新的 released 版本。
# tar zxf mysql-5.1.22-rc-linux-i686-glibc23.tar.gz
为 mysql 的运行建立 mysql 用户和 mysql 用户组
#groupadd mysql
# useradd -g mysql mysql
# ./configure --prefix=/usr/local/mysql
#make
#make install
# cp support-files/my-medium.cnf /etc/my.cf
# bin/mysql_install_db --user=mysql //用 mysql 生成初始数据库,出现类似 thank for using
资源由 www.eimhe.com 美河学习在线收集分享
mysql 证明初始化数据库成功。
# chown -R root . //当前目录给 root
# chown -R mysql var //var 给 mysql,这个很重要,也是安全起见
# chgrp -R mysql .
# bin/mysqld_safe --user=mysql &
#bin/mysql –u root
此时安全完毕,但是最重要是对 MySQL 进行安全配置,检查你的系统,最基本要做到以下
配置。
二、MySQL 安全配置
数据库作为数据管理的平台,它的安全性首先由系统的内部安全和网络安全两部分来决定。
对于系统管理员来说,首先要保证系统本身的安全,在安装 MySQL 数据库时,需要对基础
环境进行较好的配置。
1、修改 root 用户口令,删除空口令
缺省安装的 MySQL 的 root 用户是空密码的,为了安全起见,必须修改为强密码,所谓的强
密码,至少 8 位,由字母、数字和符号组成的不规律密码。使用 MySQL 自带的命令 mysaladmin
修改 root 密码,同时也可以登陆数据库,修改数据库 mysql 下的 user 表的字段内容,修改
方法如下所示:
# /usr/local/mysql/bin/mysqladmin -u root password “upassword” //使用 mysqladmin
#mysql> use mysql;
#mysql> update user set password=password('upassword') where user='root';
#mysql> flush privileges; //强制刷新内存授权表,否则用的还是在内存缓冲的口令
2、删除默认数据库和数据库用户
一般情况下,MySQL 数据库安装在本地,并且也只需要本地的 php 脚本对 mysql 进行读取,
所以很多用户不需要,尤其是默认安装的用户。MySQL 初始化后会自动生成空用户和 test
库,进行安装的测试,这会对数据库的安全构成威胁,有必要全部删除,最后的状态只保留
单个 root 即可,当然以后根据需要增加用户和数据库。
#mysql> show databases;
#mysql> drop database test; //删除数据库 test
#use mysql;
#delete from db; //删除存放数据库的表信息,因为还没有数据库信息。
#mysql> delete from user where not (user='root') ; // 删除初始非 root 的用户
#mysql> delete from user where user='root' and password=''; //删除空密码的 root,
尽量重复操作
Query OK, 2 rows affected (0.00 sec)
#mysql> flush privileges; //强制刷新内存授权表。
of 8
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜