mysql安全配置性能优化_第1页
mysql安全配置性能优化_第2页
mysql安全配置性能优化_第3页
mysql安全配置性能优化_第4页
mysql安全配置性能优化_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、mysql安全设置及性能优化配置全攻略,注意在不熟悉的情况下更改设置前最好进行备份,以免出错.| 1、修改root用户的的口令缺省情况下MySQL没有设置密码,我们可以用三种方法设置密码头:*用mysqladmin命令来改root用户口令I # mysqladmin -uroot password ecan5com /设置 MySQL 管理操作用;II TOC o 1-5 h z 户root的密码为52netseek!* 用 set password 修改 口令:mysql set password for rootlocalhost= II; password(ecan5com);*直接修改

2、user表的root用户口令Il;mysql use mysql; mysql update user set password=password ; II:(ecan5com) where user=root; mysql flush privileges; ! II| 2、删除默认的数据库和用户我们的数据库是在本地,并且也只需要本地的php脚本对mysql进行读取,所以很多用户不需要.m ysql初始化后会自动生成空用户和test库,这会对数据库构成威胁,我们全部删除.我们使用mysql 客户端程序连接到本地的mysql服务器后出现如下提示: TOC o 1-5 h z II;mysql

3、drop database test;mysql use mysql;mysqldelete;II:from db; mysql delete from userwhere not(host=localhost!II: and user=root); mysqlflushprivileges;:II| 3、改变默认mysql管理员的名称仅为建议根据个人习惯,因为默认的mysql的管理员名称是root,所以如果能够修改的话,能够防止一些脚本小子对系统的穷举我们可以直接修改数据库,把root用户改为admin.;mysqlusemysql;mysqlupdateuserset user=admin

4、 where; TOC o 1-5 h z II;user=root;mysqlflushprivileges;;II| 4、提高本地安全性提高本地安全性,主要是防止mysql对本地文件的存取,比如黑客通过mysql把/etc/passwd获取了, 会对系统构成威胁.mysql对本地文件的存取是通过SQL语句来实现,主要是通过Load DATA L OCAL INFILE来实现,我们能够通过禁用该功能来防止黑客通过SQL注射等获取系统核心文件. 禁用该功能必须在f的mysqld部分加上一个参数:II;set-variable=local-infile = 0:| 5、禁止远程连接mysql因为

5、我们的mysql只需要本地的php脚本进行连接,所以我们无需开socket进行监听,那么我们完 全可以关闭监听的功能有两个方法实现:*配置f文件,在mysqld部分添加skip-networking参数.* mysqld服务器中参数中添加-skip-networking启动参数来使mysql不监听任何TCP/IP连接,增 加安全性.如果要进行mysql的管理的话,可以在服务器本地安装一个phpMyadmin来进行管理.|6、控制数据库访问权限对于使用php脚本来进行交互,最好建立一个用户只针对某个库有update、select、delete、insert、 drop table、create

6、table等权限,这样就很好避免了数据库用户名和密码被黑客查看后最小损失. 比如下面我们创建一个数据库为db1,同时建立一个用户testl能够访问该数据库.I;mysql create database db1; mysql grant select,insert,updI;ate,delete,create,drop privileges on db1.* to test1localhI: ost identified by admindb;以上SQL是创建一个数据库db1,同时增加了一个testl用户,口令是admindb,但是它只能从本地连 接 mysql,对 db1 库有 select

7、,insert,update,delete,create,drop 操作权限.|7、限制一般用户浏览其他用户数据库如果有多个数据库,每个数据库有一个用户,那么必须限制用户浏览其他数据库内容,可以在启动 MySQL服务器时加-skip-show-database启动参数就能够达到目的.忘记mysql密码的解决办法,如果不慎忘记了 MySQL的root密码,我们可以在启动MySQL服务 器时加上参数-skip-grant-tables来跳过授权表的验证:;./safe_mysqld -skip-grant-tables &这样我们就可以直接登陆MySQL服务器,然后再修改root用户的口令,重启M

8、ySQL就可以用新 口令登陆了.| 8、数据库文件的安全我们默认的mysql是安装在/usr/local/mysql目录下的,那么对应的数据库文件就是在/usr/local/mys ql/var目录下,那么我们要保证该目录不能让未经授权的用户访问后把数据库打包拷贝走了,所以 要限制对该目录的访问我们修改该目录的所属用户和组是mysql,同时改变访问权限: TOC o 1-5 h z II;#chown-Rmysql.mysql /usr/local/mysql/var # chmod -R go-;II:rwx/usr/local/mysql/var!9、删除历史记录执行以上的命令会被shel

9、l记录在历史文件里,比如bash会写入用户目录的.bash_history文件,如果 这些文件不慎被读,那么数据库的密码就会泄漏.用户登陆数据库后执行的SQL命令也会被MySQ L记录在用户目录的.mysql_history文件里.如果数据库用户用SQL语句修改了数据库密码,也会因.mysql_history文件而泄漏.所以我们在she ll登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入数据库密码另外这两个文件 我们也应该不让它记录我们的操作,以防万一.11;# rm .bash history .mysql history # ln -s /dev/null .bash :I !history # ln -s /dev/null .mysql_historyI 10、其他另外还可以考虑使用chroot等方式来控制mysql的运行目录,更好的控制权限,具体可以参考相关 文章f的调试参数.11、快速修复MySQL数据库修复数据库# mysqlcheck -A -o -r -p修复指定的数据库; # mysqlcheck -o -r Database_NAME -p;II| 12、跟据内存的大小选择MySQL的负载选择相应的文件名复制到/etc/f,如果是RPM 包安装:/usr/share/doc/mysql-XXX/目录下有,女口果是源代码编译安装:support-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论