为什么要安装bind
当我们要在linux系统中安装dns服务器时,我们可以安装bind,bind一般包含三个部分:域名服务器、域名解析器库(解析文件)、软件测试工具(如dig,nslookup)
使用mysql作为域名解析ip存储的优点:
bind中使用配置文件作为存储,不方便管理,配置容易出错,而mysql解决了这些问题,同时,最新版本的bind可以使用–with-dlz-mysql来进行mysql的连接,而不再需要mysql-bind这个老的办法。
bind的编译安装
准备工作:
- 我们将系统时间对准(如果时间是准确的,此步忽略)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install ntp
ntpdate us.pool.ntp.org
- 首先我们要下载一个依赖—perl,我们在这里下载perl的源代码,这里我下载的是perl-5.24.0.tar.gz版本;
- 我们要在这里下载bind的源代码,这里我下载的是bind-9.11.0.tar.gz版本;
- 我们在这里下载mysql源码包,我下载的是mysql-5.7.16.tar.gz版本的;
- 在这里下载cmake源码包,cmake为mysql的依赖;
- 在这里下载ncurses源码包;
- 在这里下载boost库文件,此为mysql5.7.5以上版本所必须的。
- 在这里下载zlib源码包
编译安装:
安装ncurses
tar zxvf ncurses-6.0.tar.gz cd ncurses-6.0 ./configure make&&make install
安装cmake
tar zxvf cmake-3.6.0.tar.gz cd cmake-3.6.0 ./bootstrap&&gmake&&make&&make install
- 编译安装zlib
./configure
make
make install
- 安装perl
cp configure.gnu configure
./configure -des -Dprefix=/usr/local/perl
make
make test //在这步结束的时候有一个error,但不影响我们后续的操作,test没有完成100%
make install
解压boost
将boost_1_59_0.tar.gz解压之后放在/use/local/boost下,这里我尝试将boost_1_62_0.tar.gz解压,发现编译的时候出现了问题,错误解释为需要59的,通过59解压之后成功编译。
安装mysql
tar zxvf mysql-5.7.16.tar.gz cd mysql-5.7.16 groupadd mysql //新增mysql组,mysql需要 useradd -r -g mysql mysql // 新增mysql组下面的mysql用户 mkdir /usr/local/mysql mkdir -p /data/mysqldb cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_DATADIR=/data/mysqldb -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 make&&make install