......DNS服务器搭建、Mariadb安装
1、简述DNS服务器原理,并搭建主-辅服务器
DNS原理
DNS是个基础服务,主要功能是将全称域名解析城IP地址
根据域名的层级,我们由上至下分为根域、顶级域、二级域、二级域的子域三级域(以此类推),每一个层级下的域名都有对应的DNS服务器,而其数据库中存放的都是该域直接下级域的 DNS名称和IP的对应关系
搭建主从服务器
安装并启动
yum install bind
systemctl start named
- 先搭建个主DNS服务器192.168.37.7
修改配置文件
vim /etc/named.conf
改其中两行数据,否则53端口仅监听再自己主机上,不对外服务
listen-on port 53 { localhost; };
allow-query { any; };
写数据库文件
cd /var/named/
cp -p named.localhost magedu.com.zone
加域
vim magedu.com.zone
$TTL 1D
@ IN SOA @ master admin (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.37.7
ftp A 1.1.1.1
www CNAME webbb
webbb A 192.168.37.17
将新添加的域加入到配置文件中
vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
- 主服务器配置完成,现在我们可以进行测试
将一台机器的DNS配置为192.168.37.7
dig ftp.magedu.com
返回之前设定的IP即为成功
ftp.magedu.com. 86400 IN A 1.1.1.1
- 搭建从(副服务器)192.168.37.17
安装
yum install bind
改其中两行,与之前搭建主服务时一样
vim /etc/named.conf
添加类型为(从)slave的域
vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
masters {192.168.37.7;};
file "slaves/magedu.com.zone.slave";
};
ll /var/named/slaves/ 可见自动生成的slave加密文件
- 测试从服务器
在192.168.37.6主机上测试
dig ftp.magedu.com @192.168.37.17
以下结果返回即为成功
ftp.magedu.com. 86400 IN A 1.1.1.1
- 若要实现主从同步,就在主服务器的数据库文件中添加从服务器的信息
NS ns2
ns2 A 192.168.37.17
2、搭建并实现智能DNS
- 定义ACL
配置文件中加ACL定义
vim /etc/named.conf
acl beijingnet { 192.168.37.0/24; };
acl shanghainet { 172.16.0.0/16; };
acl othernet { any; };
- 创建3个不同的视图view
定义三个数据库文件,主机ip(www)依次为 192.168.37.100 172.16.0.100 8.8.8.8
vim /var/named/magedu.com.zone.bj
vim /var/named/magedu.com.zone.sh
vim /var/named/magedu.com.zone.other
加view
vim /etc/named.conf
view view_beijing {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.bj"
};
view view_shanghai {
match-clients { shan/ghainet; };
include "/etc/named.rfc1912.zones.sh"
};
view view_other {
match-clients { other; };
include "/etc/named.rfc1912.zones"
};
- 创建各自的区域文件
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
other就用原文件加以修改
各自添加其中内容
vim /etc/namedzone "." IN {
type hint;
file "named.ca";
};
zone "magedu.com" IN {
type master;
file "magedu.com.zone.bj";
};
systemctl restart named 重启服务
- 测试
在192.168.37.6的主机上
dig www.magedu.com @192.168.37.7
返回
www.magedu.com. 86400 IN A 192.168.37.100
在192.168.37.7的主机上
dig www.magedu.com @172.16.0.1
返回
www.magedu.com. 86400 IN A 172.16.0.100
在本机上,即为other其他主机
dig www.magedu.com @127.0.0.1
返回
www.magedu.com. 86400 IN A 8.8.8.8
3、编译安装Mariadb,并启动后可以正常登录
- 先安装相应的包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
- 创建用户与数据目录
useradd –r –s /sbin/nologin –d /data/mysql/ mysql
创建数据目录
mkdir /data/mysql
加权限
chown -R mysql.mysql /data/mysql
解压源码包
tar xvf mariadb-10.2.36.tar.gz
- cmake 编译安装
cd /data/mariadb-10.2.36
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
需要等上一段时间...
- 环境变量
vim /etc/profile.d/mysql.sh
echo 'PATH=/app/mysql/bin:$PATH'
生效
. /etc/profile.d/mysql.sh
- 生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
显示成功
Installing MariaDB/MySQL system tables in '/data/mysql/' ...
OK
- 准备配置文件
mkdir /etc/mysql/
cp /app/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf
加datadir信息
vim /etc/mysql/my.cnf
[mysqld]
datadir= /data/mysql
- 准备服务脚本,并启动服务
cd /app/mysql/support-files
cp mysql.server /etc/init.d/mysqld
systemctl enable mysqld
- 安装成功启动测试
systemctl start mysqld
mysql 登录成功即可