震惊君的Linux之旅 ------ DNS与MYSQL基础

1、简述DNS服务器原理,并搭建主-辅服务器

DNS原理

DNS是个基础服务,主要功能是将全称域名解析城IP地址
根据域名的层级,我们由上至下分为根域、顶级域、二级域、二级域的子域三级域(以此类推),每一个层级下的域名都有对应的DNS服务器,而其数据库中存放的都是该域直接下级域的 DNS名称和IP的对应关系

搭建主从服务器
安装并启动
yum install bind
systemctl start named
  1. 先搭建个主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";
  1. 主服务器配置完成,现在我们可以进行测试
将一台机器的DNS配置为192.168.37.7

dig ftp.magedu.com

返回之前设定的IP即为成功
ftp.magedu.com.		86400	IN	A	1.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加密文件
  1. 测试从服务器
在192.168.37.6主机上测试
dig ftp.magedu.com @192.168.37.17

以下结果返回即为成功
ftp.magedu.com.		86400	IN	A	1.1.1.1
  1. 若要实现主从同步,就在主服务器的数据库文件中添加从服务器的信息
    NS  ns2
ns2 A 192.168.37.17

2、搭建并实现智能DNS

  1. 定义ACL
配置文件中加ACL定义
vim /etc/named.conf
	acl beijingnet { 192.168.37.0/24; };
    acl shanghainet { 172.16.0.0/16; };
    acl othernet { any; };
  1. 创建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"
};
  1. 创建各自的区域文件
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			重启服务
  1. 测试
在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,并启动后可以正常登录

  1. 先安装相应的包
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
  1. 创建用户与数据目录
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
  1. 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
需要等上一段时间...
  1. 环境变量
vim /etc/profile.d/mysql.sh
echo 'PATH=/app/mysql/bin:$PATH'

生效
. /etc/profile.d/mysql.sh
  1. 生成数据库文件
cd /app/mysql/

scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
显示成功
Installing MariaDB/MySQL system tables in '/data/mysql/' ...
OK
  1. 准备配置文件
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
  1. 准备服务脚本,并启动服务
cd /app/mysql/support-files
cp mysql.server /etc/init.d/mysqld
systemctl enable mysqld
  1. 安装成功启动测试
systemctl start mysqld

mysql			登录成功即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值