公司新上线一个资讯网站,独立主机,raid5,lamp架构。因为资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在作服务器系统搭建的时候,只是简单分出一个独立的data区做为数据库和网站程序的专区,其余按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试过独立编译安装,但现实使用中,发现不如yum方便快捷,固然若是是大型应用型网站,估计就不是简单的yum了)php
因为yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑把它挪到/data分区。步骤以下:mysql
一、关闭apache和mysql.linux
service httpd stop service mysqld stop
二、将/var/lib下的mysql目录mv(移动)到data目录。为何要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的全部属性和权限,尤为是selinux属性。若是用cp命令,就须要回头再去设置mysql文件夹的selinux属性,本人因很头疼selinux故能避则避。sql
mv /var/lib/mysql /data/mysql
三、修改mysql配置文件/etc/my.cnf。将datadir和socket的路径改成/data目录下。shell
[mysqld]
#datadir=/var/lib/mysql ------原系统默认路径 datadir=/data/mysql ------现有路径 #socket=/var/lib/mysql/mysql.sock ------原socket路径现 socket=/data/mysql/mysql.sock ------现有路径 [mysqld_safe] socket=/data/mysql/mysql.sock -----现有路径 [client] socket=/data/mysql/mysql.sock -----现有路径 [mysql.server] socket=/data/mysql/mysql.sock -----现有路径
四、修改php配置文件(/etc/php.ini)中的socket路径。没错,千万不要忘记了php.ini里也要指明socket的路径,不然php网站会没法链接到数据库的。php.ini里默认socket路径是空的,默认是指向/var/lib/mysql,因此也要改成/data/mysql.数据库
[mysql]
mysql.default_socket = /data/mysql/mysql.sock [mysqli] mysql.default_socket = /data/mysql/mysql.sock
五、重启apache.mysql.apache
大功告成!!!安全