首頁 >資料庫 >mysql教程 >MySQL数据库的安全配置实操

MySQL数据库的安全配置实操

WBOY
WBOY原創
2016-06-07 16:09:391319瀏覽

以下文章主要是介绍MySQL数据库的安全配置的实际操作的介绍 ,本文例举了相关的实例,当然这些实例都是在MySQL数据库的安全配置的实际操作中经常出现的,如果你是数据库的热捧者。那么下面的文章对于你而言一定很有意义。 关键字: MySQL内核 数据库安全配置

以下文章主要是介绍MySQL数据库的安全配置的实际操作的介绍 ,本文例举了相关的实例,当然这些实例都是在MySQL数据库的安全配置的实际操作中经常出现的,如果你是数据库的热捧者。那么下面的文章对于你而言一定很有意义。

关键字: MySQL内核 数据库安全配置 用户认证模块 密码恢复 存储过程编写 MySQL数据库索引

内容摘要:

由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进一步的安全加固。作为一个MySQL的系统管理员,我们有责任维护MySQL数据库系统的数据安全性和完整性。

如果启动MySQL数据库的用户是mysql,那么象如下的目录和文件的是安全的,请注意数据目录及下面的属性: 

<ol class="dp-xml">
<li class="alt"><span><span>shell</span><span class="tag">></span><span>ls-l/usr/local/mysql  </span></span></li>
<li><span>total40  </span></li>
<li class="alt"><span>drwxrwxr-x2rootroot4096Feb2720:07bin  </span></li>
<li><span>drwxrwxr-x3rootroot4096Feb2720:07include  </span></li>
<li class="alt"><span>drwxrwxr-x2rootroot4096Feb2720:07info  </span></li>
<li><span>drwxrwxr-x3rootroot4096Feb2720:07lib  </span></li>
<li class="alt"><span>drwxrwxr-x2rootroot4096Feb2720:07libexec  </span></li>
<li><span>drwxrwxr-x3rootroot4096Feb2720:07man  </span></li>
<li class="alt"><span>drwxrwxr-x6rootroot4096Feb2720:07mysql-test  </span></li>
<li><span>drwxrwxr-x3rootroot4096Feb2720:07share  </span></li>
<li class="alt"><span>drwxrwxr-x7rootroot4096Feb2720:07sql-bench  </span></li>
<li><span>drwx------4mysqlmysql4096Feb2720:07var  </span></li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>ls-l/usr/local/mysql/var  </span>
</li>
<li><span>total8  </span></li>
<li class="alt"><span>drwx------2mysqlmysql4096Feb2720:08mysql  </span></li>
<li><span>drwx------2mysqlmysql4096Feb2720:08test  </span></li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>ls-l/usr/local/mysql/var/mysql  </span>
</li>
<li><span>total104  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql0Feb2720:08columns_priv.MYD  </span></li>
<li><span>-rw-------1mysqlmysql1024Feb2720:08columns_priv.MYI  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql8778Feb2720:08columns_priv.frm  </span></li>
<li><span>-rw-------1mysqlmysql302Feb2720:08db.MYD  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql3072Feb2720:08db.MYI  </span></li>
<li><span>-rw-------1mysqlmysql8982Feb2720:08db.frm  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql0Feb2720:08func.MYD  </span></li>
<li><span>-rw-------1mysqlmysql1024Feb2720:08func.MYI  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql8641Feb2720:08func.frm  </span></li>
<li><span>-rw-------1mysqlmysql0Feb2720:08host.MYD  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql1024Feb2720:08host.MYI  </span></li>
<li><span>-rw-------1mysqlmysql8958Feb2720:08host.frm  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql0Feb2720:08tables_priv.MYD  </span></li>
<li><span>-rw-------1mysqlmysql1024Feb2720:08tables_priv.MYI  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql8877Feb2720:08tables_priv.frm  </span></li>
<li><span>-rw-------1mysqlmysql428Feb2720:08user.MYD  </span></li>
<li class="alt"><span>-rw-------1mysqlmysql2048Feb2720:08user.MYI  </span></li>
<li><span>-rw-------1mysqlmysql9148Feb2720:08user.frm </span></li>
</ol>

如果这些文件的属主及属性不是这样,请用以下两个命令修正之:

<ol class="dp-xml">
<li class="alt"><span><span>shell</span><span class="tag">></span><span>chown-Rmysql.mysql/usr/local/mysql/var  </span></span></li>
<li>
<span>shell</span><span class="tag">></span><span>chmod-Rgo-rwx/usr/local/mysql/var </span>
</li>
</ol>

用root用户启动远程服务一直是安全大忌,因为如果服务程序出现问题,远程攻击者极有可能获得主机的完全控制权。MySQL从3.23.15版本开始时作了小小的改动,默认安装后服务要用mysql用户来启动,不允许root用户启动。

如果非要用root用户来启动,必须加上--user=root的参数(./safe_mysqld --user=root &)。因为MySQL中有LOAD DATA INFILE和SELECT ... INTO OUTFILE的SQL语句,如果是root用户启动了MySQL服务器,那么,MySQL数据库用户就拥有了root用户的写权限。不过MySQL还是做了一些限制的,比如LOAD DATA INFILE只能读全局可读的文件,SELECT ... INTO OUTFILE不能覆盖已经存在的文件。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn