服务器搭建手册之FREEBSDUNIX邮件服务器建设(九)

2、增加域名和管理员

mysql> desc domaininfo;

+————-+————-+——+—–+————+—————-+

| Field       | Type        | Null | Key | Default    | Extra          |

+————-+————-+——+—–+————+—————-+

| domain_id   | int(5)      |      | PRI | NULL       | auto_increment |

| domain      | varchar(25) |      | UNI |            |                |

| alias       | varchar(30) | YES  |     | NULL       |                |

| passwd      | varchar(35) |      |     |            |                |

| usernum     | int(5)      |      |     | 0          |                |

| quota       | int(11)     |      |     | 0          |                |

| des         | varchar(30) | YES  |     | NULL       |                |

| expire      | date        |      |     | 0000-00-00 |                |

| active      | tinyint(1)  |      |     | 1          |                |

| create_time | datetime    | YES  |     | NULL       |                |

+————-+————-+——+—–+————+—————-+

10 rows in set (0.00 sec)

 

mysql> INSERT INTO `domaininfo` VALUES (7, ‘toping.net’, NULL, ‘$1$jNXThQXq$KPjm.WE2f2yX5rceY48vX. ‘, 50, 500, NULL, ‘0000-00-00’, 1, ‘2005-04-19 23:19:11’);

Query OK, 1 row affected (0.00 sec)

 

注:这里的toping.net的管理密码为:admin123

3、查看刚才加的域名成功到数据库里面。

 

Mysql>select * from domaininfo;

 

 

mysql> desc userinfo;

+————-+————-+——+—–+———————+—————-+
| Field       | Type        | Null | Key | Default             | Extra          |
+————-+————-+——+—–+———————+—————-+
| id          | int(11)     |      | PRI | NULL                | auto_increment |
| userid      | varchar(20) |      |     |                     |                |
| domain_id   | int(5)      |      |     | 0                   |                |
| address     | varchar(50) |      | UNI |                     |                |
| alias       | varchar(60) | YES  |     |     NULL            |                |
| passwd      | varchar(35) |      |     |                     |                |
| realname    | varchar(20) | YES  |     | NULL                |                |
| quota       | int(11)     |      |     | 0                   |                |
| active      | tinyint(1)  |      |     | 0                   |                |
| homedir     | varchar(60) |      |     |                     |                |
| maildir     | varchar(60) |      |     |                     |                |
| create_time | datetime    |      |     | 0000-00-00 00:00:00 |                |
| fax         | varchar(20) |      |     |                     |                |
| telephone   | varchar(15) |      |     |                     |                |
| sex         | int(1)      |      |     | 0                   |                |
| year        | int(4)      |      |     | 0                   |                |
| MONTH       | int(2)      |      |     | 0                   |                |
| DAY         | int(2)      |      |     | 0                   |                |
| education   | varchar(4)  |      |     |                     |                |
| marital     | int(1)      |      |     | 0                   |                |
| occupation  | varchar(15) |      |     |                     |                |
| companyname | varchar(30) |      |     |                     |                |
| province    | varchar(6)  |      |     |                     |                |
+————-+————-+——+—–+———————+—————-+
23 rows in set (0.00 sec)

 

mysql> INSERT INTO `userinfo` VALUES (8, ‘webmaster’, 7, ‘webmaster@toping.net‘, NULL,’$1$4DLQeNkz$QKCAQqg244XwvLl2SD11f0‘, ‘webmaster’, 209715200, 1, ‘/var/mail/toping.net/webmaster/’, ‘/var/mail/toping.net/webmaster/Maildir/’, ‘2005-04-20 23:45:17’, ”, ”, 0, 0, 0, 0, ”, 0, ”, ”, ”);

 

注:这里的webmaster用户的邮箱密码为:000000
mysql>quit

4、设置用户的目录与权限:

# mkdir -p /var/mail/toping.net/webmaster

 

#/usr/local/bin/maildirmake /var/mail/toping.net/webmaster/Maildir

 

# chmod -R 777 /var/mail/toping.net/

 

l# chown -R postfix:postfix /var/mail/toping.net

 

至此用户设置完毕,这里只使用一个域名,同理可以设置多个域名。

MySQL高可用架构-MMM环境安装笔记(一)

一、

MMM介绍
MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,可以说是mysql主主复制管理器。虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。

MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。对于那些对数据的一致性要求很高的业务,非常不建议采用MMM这种高可用架构。

二、安装过程:

1)配置/etc/hosts(所有机器都要操作)

[root@mmm-monit ~]# cat /etc/hosts
…….
192.168.179.53   mmm-monit
192.168.179.51  db-master1
192.168.179.52   db-master2
192.168.179.55   db-slave
2)首先在3台主机上安装mysql,部署复制环境

其中:192.168.179.51和192.168.179.52互为主从,192.168.179.55为192.168.179.51的从

———1192.168.179.51的my.cnf添加配置———
server-id = 1
log-bin = mysql-bin
log_slave_updates = 1
auto-increment-increment = 2
auto-increment-offset = 1
———192.168.179.52的my.cnf添加配置———
server-id = 2
log-bin = mysql-bin
log_slave_updates = 1
auto-increment-increment = 2
auto-increment-offset = 2
———192.168.179.53的my.cnf添加配置———
server-id = 3
log-bin = mysql-bin
log_slave_updates = 1
3)安装MMM(所有机器上都要执行)

…….先安装MMM所需要的Perl模块…….
[root@db-master1 ~]# vim install.sh        //在所有机器上执行下面的安装脚本
#!/bin/bash
wget http://xrl.us/cpanm –no-check-certificate
mv cpanm /usr/bin
chmod 755 /usr/bin/cpanm
cat > /root/list << EOF
install Algorithm::Diff
install Class::Singleton
install DBI
install DBD::mysql
install File::Basename
install File::stat
install File::Temp
install Log::Dispatch
install Log::Log4perl
install Mail::Send
install Net::ARP
install Net::Ping
install Proc::Daemon
install Thread::Queue
install Time::HiRes
EOF

for package in `cat /root/list`
do
cpanm $package
done
[root@db-master1 ~]# chmod 755 install.sh
[root@db-master1 ~]# ./install.sh

………下载mysql-mmm软件,在所有服务器上安装…………
[root@db-master1 ~]# wget http://mysql-mmm.org/_media/:mmm2:mysql-mmm-2.2.1.tar.gz
[root@db-master1 ~]# mv :mmm2:mysql-mmm-2.2.1.tar.gz mysql-mmm-2.2.1.tar.gz
[root@db-master1 ~]# tar -zvxf mysql-mmm-2.2.1.tar.gz
[root@db-master1 ~]# cd mysql-mmm-2.2.1
[root@db-master1 mysql-mmm-2.2.1]# make install

4)配置agent端的配置文件,需要在db-master1 ,db-master2,db-slave上分别配置(配置内容一样)

阅读更多