• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

MySQL的安装与配置祥解2

数据库技术 Linux 2577次浏览 0个评论

3.23.xx版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。

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

shell>ls -l /usr/local/mysql

total 40

drwxrwxr-x   2 root   root       4096 Feb 27 20:07 bin

drwxrwxr-x   3 root   root       4096 Feb 27 20:07 include

drwxrwxr-x   2 root   root       4096 Feb 27 20:07 info

drwxrwxr-x   3 root   root       4096 Feb 27 20:07 lib

drwxrwxr-x   2 root   root       4096 Feb 27 20:07 libexec

drwxrwxr-x   3 root   root       4096 Feb 27 20:07 man

drwxrwxr-x   6 root   root       4096 Feb 27 20:07 mysql-test

drwxrwxr-x   3 root   root       4096 Feb 27 20:07 share

drwxrwxr-x   7 root   root       4096 Feb 27 20:07 sql-bench

drwx——   4 mysql   mysql     4096 Feb 27 20:07 var

shell>ls -l /usr/local/mysql/var

total 8

drwx——   2 mysql   mysql     4096 Feb 27 20:08 mysql

drwx——   2 mysql   mysql     4096 Feb 27 20:08 test

shell>ls -l /usr/local/mysql/var/mysql

total 104

-rw——-   1 mysql   mysql       0 Feb 27 20:08 columns_priv.MYD

-rw——-   1 mysql   mysql     1024 Feb 27 20:08 columns_priv.MYI

-rw——-   1 mysql   mysql     8778 Feb 27 20:08 columns_priv.frm

-rw——-   1 mysql   mysql       302 Feb 27 20:08 db.MYD

-rw——-   1 mysql   mysql     3072 Feb 27 20:08 db.MYI

-rw——-   1 mysql   mysql     8982 Feb 27 20:08 db.frm

-rw——-   1 mysql   mysql       0 Feb 27 20:08 func.MYD

-rw——-   1 mysql   mysql     1024 Feb 27 20:08 func.MYI

-rw——-   1 mysql   mysql     8641 Feb 27 20:08 func.frm

-rw——-   1 mysql   mysql       0 Feb 27 20:08 host.MYD

-rw——-   1 mysql   mysql     1024 Feb 27 20:08 host.MYI

-rw——-   1 mysql   mysql     8958 Feb 27 20:08 host.frm

-rw——-   1 mysql   mysql       0 Feb 27 20:08 tables_priv.MYD

-rw——-   1 mysql   mysql     1024 Feb 27 20:08 tables_priv.MYI

-rw——-   1 mysql   mysql     8877 Feb 27 20:08 tables_priv.frm

-rw——-   1 mysql   mysql       428 Feb 27 20:08 user.MYD

-rw——-   1 mysql   mysql     2048 Feb 27 20:08 user.MYI

-rw——-   1 mysql   mysql     9148 Feb 27 20:08 user.frm

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

shell>chown -R mysql.mysql /usr/local/mysql/var

shell>chmod -R go-rwx /usr/local/mysql/var

用root用户启动远程服务一直是安全大忌,因为如果服务程序出现问题,远程攻击者极有可能获得主机的完全控制权。MySQL从3.23.15版本开始时作了小小的改动,默认安装后服务要用mysql用户来启动,不允许root用户启动。如果非要用root用户来启动,必须加上-user=root的参数(./safe_mysqld -user=root &)。因为MySQL中有LOAD DATA INFILE和SELECT … INTO OUTFILE的SQL语句,如果是root用户启动了MySQL服务器,那么,数据库用户就拥有了root用户的写权限。不过MySQL还是做了一些限制的,比如LOAD DATA INFILE只能读全局可读的文件,SELECT … INTO OUTFILE不能覆盖已经存在的文件。

本地的日志文件也不能忽视,包括shell的日志和MySQL自己的日志。有些用户在本地登陆或备份数据库的时候为了图方便,有时会在命令行参数里直接带了数据库的密码,如:

shell>/usr/local/mysql/bin/mysqldump -uroot -ptest test>test.sql

shell>/usr/local/mysql/bin/mysql -uroot -ptest

这些命令会被shell记录在历史文件里,比如bash会写入用户目录的.bash_history文件,如果这些文件不慎被读,那么数据库的密码就会泄漏。用户登陆数据库后执行的SQL命令也会被MySQL记录在用户目录的.mysql_history文件里。如果数据库用户用SQL语句修改了数据库密码,也会因.mysql_history文件而泄漏。所以我们在shell登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入数据库密码。

另外这两个文件我们也应该不让它记录我们的操作,以防万一。

shell>rm .bash_history .mysql_history

shell>ln -s /dev/null .bash_history

shell>ln -s /dev/null .mysql_history

上门这两条命令把这两个文件链接到/dev/null,那么我们的操作就不会被记录到这两个文件里了。

外部网络安全

MySQL数据库安装好以后,Unix平台的user表是这样的:

mysql> use mysql;

Database changed

mysql> select Host,User,Password,Select_priv,Grant_priv from user;

+———–+——+———-+————-+————+

| Host     | User | Password | Select_priv | Grant_priv |

+———–+——+———-+————-+————+

| localhost | root |       | Y       | Y       |

| RedHat   | root |       | Y       | Y       |

| localhost |     |       | N       | N       |

| redhat   |     |       | N       | N       |

+———–+——+———-+————-+————+


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明MySQL的安装与配置祥解2
喜欢 (0)

您必须 登录 才能发表评论!

加载中……