一, 实验环境:RedHat 5.8,软件版本:vsftpd-2.0.5-24.el5, pam_mysql-0.7RC1.tar.gz,mysql-5.5.25a.tar.gz,cmake-2.8.8.tar.gz
二,实验目的:用mysql管理虚拟用户来访问vsftp服务器。
三,安装编译软件的环境:需要安装
- [root@server30 ~]# yum -y groupinstall 'Development Libraries' 'Development Tools'
四,由于mysql-5.5编译安装不支持make编译,而用是cmake来编译,因此需要先安装cmake,cmake安装很简单,就底下三步
- [root@server30 ~]# tar xf cmake-2.8.8.tar.gz
- [root@server30 ~]# cd cmake-2.8.8
- [root@server30 cmake-2.8.8]# ./bootstrap
- [root@server30 cmake-2.8.8]# make && make install
五,安装好之后,编译msyql,编译mysql之前先添加mysql用户
- [root@server30 ~]# useradd -r mysql
六,开始编译mysql-5.5
- [root@server30 ~]# tar xf mysql-5.5.25a.tar.gz
- [root@server30 mysql-5.5.25a]# cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ (安装路径)
- > -DMYSQL_DATADIR=/data/mysql \ (数据存储目录)
- > -DSYSCONFDIR=/etc \ (配置文件存储路径)
- > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ (安装innodbase存储引擎下两都是)
- > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- > -DWITH_SSL=system \ (启用ssl加密)
- > -DWITH_ZLIB=system \ (启用客户端与服务端压缩传输)
- > -DWITH_LIBWRAP=0 \ (关闭tcpwrap的控制)
- > -DDEFAULT_CHARSET=utf8 \ (使用utf8为默认字符)
- > -DDEFAULT_COLLATION=utf8_general_ci \ (使用utf8默认字符排序)
- > -DEXTRA_CHARSETS=all (安装所有字符)
- [root@server30 mysql-5.5.25a]# make && make install
安装完了之后,开始初始化数据库
在解压的路径下,或安装完的路径中,都有mysql的脚本与配置文件在supports目录下
- [root@server30 mysql]# cp support-files/my-large.cnf /etc/my.cnf 提供配置文件
- [root@server30 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 提供脚本
- [root@server30 mysql]# mkdir -pv /data/mysql 创建数据存储目录
- [root@server30 mysql]# chown -R mysql:mysql /data/ 修改data目录的权限
- [root@server30 mysql]# chown -R :mysql .(对mysql做初始化,需要修改/user/local/mysql所有文件的权限)
- [root@server30 mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ 对mysql初始化
修改mysql.cnf配置文件,
- [root@server30 mysql]#vim /etc/mysql.cnf
- 在这里修改一行thread_concurrency = 4
- 并在后面添加一行datadir = /data/mysql
启用mysql脚本:
- [root@server30 mysql]# service mysqld start
- [root@server30 mysql]# vim /etc/profile 添加mysql命令到PATH
- [root@server30 mysql]# . /etc/profile(或者export PATH=$PATH:/usr/local/mysql/bin)
- [root@server30 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
- [root@server30 mysql]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf 加载库文件
- [root@server30 mysql]# ldconfig -v |grep mysql
- [root@server30 mysql]# vim /etc/man.config
- [root@server30 ~]# tar xf pam_mysql-0.7RC1.tar.gz
- [root@server30 ~]# cd pam_mysql-0.7RC1
- [root@server30 pam_mysql-0.7RC1]# ./configure --with-mysql=/usr/local/mysql --with-openssl
- [root@server30 pam_mysql-0.7RC1]# make && make install