安装 MySQL 数据库环境

作者 huhamhire,暂无评论,2013年3月2日 12:11 折腾历程

现在的网站大部分都离不开数据库,纯静态的站点仅能提供有限的功能,所以在架设网站的时候配置数据库就成了必然的选择。本篇主要介绍 VPS 上配置 MySQL 数据库环境的相关内容。

在开始之前首先简要介绍一下 MySQL。MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。由于 MySQL 体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。此外,MySQL 可以对 Wordpress, Discuz 等常见的 Web 应用提供非常不错的兼容性支持,所以我在我自己的 VPS 上最终还是选择了 MySQL。

准备工作

因为我之后还需要配置 phpMyAdmin 的网页管理环境,所以还要先安装一些 php 组件。当然,如果不需要 phpMyAdmin 的话,可以略过这一步。


yum install php-gd php-pear php-xml php-xmlrpc php-bcmath php-mysql php-imap php-ldap php-odbc

一、安装 MySQL

安装 mysql 组件:


yum install mysql mysql-server

安装完成后,启动 mysqld 服务:


/etc/init.d/mysqld start

然后可以通过以下命令进行初始配置,按提示操作即可,如设置 root 密码,删除 test 数据库,删除匿名帐户等等。


mysql_secure_installation

初始位置完成后,还可对 /etc/my.cnf 文件进行详细的参数配置。此外,MySQL 在安装时也会提供一系列针对不同性能机器优化的配置文件,其具体位置一般在 /usr/share/mysql/ ``目录下。有 ``my-large.cnf, my-medium.cnf, my-small.cnf 三个参考配置文件,分别对应大内存、一般容量内存以及小内存的三类服务器。大多数情况下 VPS 的性能的确要比独立主机差一些,使用小内存方案配置是比较好的选择。也可以直接将预制文件复制到 /etc/my.cnf 直接使用。至于具体操作,因机器性能而异,这里就不详细列出了。

配置完成后,重启 mysqld 服务使配置生效:


/etc/init.d/mysqld restart

配置 mysqld 开机自动启动:


chkconfig --levels 235 mysqld on

二、安装 phpMyAdmin

phpMyAdmin 是一款可以通过网页管理你 MySQL 数据库的软件,对于我们的 VPS 来说,是非常实用的工具,可以免去后续维护时一系列繁琐的 SQL 操作。当然,如果想要完全使用 SQL 语句操作 MySQL 数据库也是可行的,故可根据需求选择性安装 phpMyAdmin。

由于 phpMyAdmin 并不在 CentOS 6 的官方源中,我们需要为 VPS 添加 RPMforge 源。首先,导入 RPMforge GPG key:


rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

添加 RPMforge 源:


yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

注意,这里我使用的是提供给 64 位 CentOS 6 的软件源,这个 rpm 包的更新较快,安装时可以按实际情况查找最新版本进行安装。

接下来,我们就可以使用如下命令安装 phpMyAdmin:


yum install phpmyadmin

三、设置phpMyAdmin

由于我用了 lighttpd 作为 VPS 的 Web 服务器程序,所以是用 phpMyAdmin 的时候首先要设置一下目录的权限,以免运行的时候出现不必要的麻烦。


chown lighttpd:lighttpd /usr/share/phpmyadmin/

除了采用这种方案之外,当然也可以使用 root 用户运行 lighttpd 服务,不过出于安全考虑,不建议这样来做。具体方法就是修改 lighttpd 的配置文件 /etc/lighttpd/lighttpd.conf


nano /etc/lighttpd/lighttpd.conf

注释掉相面这两行的内容后重启服务


server.username = "lighttpd"
server.groupname = "lighttpd"

可能是我的服务器之前还没跑过 php,还需要手动建立 /var/lib/php/session 目录


mkdir /var/lib/php/session

同样,赋予用户组权限:


chown lighttpd:lighttpd /var/lib/php/session

另外,如果不喜欢用 phpMyAdmin 默认的 cookie 认证方式的话,还可以做如下设置,启用 http 认证。

编辑 /usr/share/phpmyadmin/config.inc.php


nano /usr/share/phpmyadmin/config.inc.php

修改如下内容,将:


/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';

改为:


/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';

四、配置 phpMyAdmin 的网页入口

前面 phpMyAdmin 的配置已经完成了,现在还需要通过Web服务器来提供一个管理入口。

访问 Web 站点无外乎就是两种方式,一种通过域名访问,另一种是通过 IP 地址访问。当然有域名的话还是通过域名访问要来的方便一点。

为了便于管理,可以在 lighttpd 中使用独立的配置文件来配置不同的站点。可以在 /etc/lighttpd/vhosts.d/ 目录下建立 phpMyAdmin 的配置文件:


nano /etc/lighttpd/vhosts.d/phpmyadmin.conf

如果是配置独立域名访问的话可以按下面的样例进行配置,将 phpmyadmin.example.com 换成真实的域名即可。


1 $HTTP["host"] == "phpmyadmin.example.com " {
2     server.document-root = "/usr/share/phpmyadmin/"
3     server.name = "phpmyadmin.example.com"
4     accesslog.filename = "/var/www/logs/phpmyadmin_access.log"
5 }

如果是使用IP访问,或者想通过别名管理phpMyAdmin,可以通过alias参数来设置。在配置文件中填写如下的配置:


alias.url = ( "/phpmyadmin/" => "/usr/share/phpmyadmin/" )

同时还需取消 /etc/lighttpd/modules.conf 模块配置文件中 mod_alias 项目前的注释符,启用别名功能。 然后编辑 lighttpd 的配置文件 /etc/lighttpd/lighttpd.conf


nano /etc/lighttpd/lighttpd.conf

在文件末尾添加如下内容,使 lighttpd 启动时会调用我们自定义的配置文件。


include_shell "cat /etc/lighttpd/vhosts.d/*.conf"

配置完成后重启 lighttpd 服务,使站点生效。


service lighttpd restart

随后便可以更具之前的设定,通过 http://phpmyadmin.example.com/ 或者是 http://VPS的域名或IP/phpmyadmin/ 来访问管理。

输入MySQL的管理密码便可进行数据库管理操作。

phpmyadmin_passwd phpmyadmin_config
关键词:MySQL , 虚拟主机
登录后进行评论