2015-03-21 4 views
9

Ubuntu kullanarak küçük bir posta sunucusunu yönetmek için kullanabiliyorum. Yapabileceğim bir veritabanı oluşturmak ve aynı zamanda yapabileceğim veritabanı (lar) için kullanıcı oluşturmak için ansible kullanmak istedim. Ama ansible kullanarak nasıl tablo oluşturacağımı bilmiyorum. Ben yanıtlayıcı 'kullanarak aşağıdaki üç MySQL tablo oluşturmak çalışıyorum:Ansible ile MySQL Tabloları Oluşturun

1)

CREATE TABLE `virtual_domains` (
    `id` int(11) NOT NULL auto_increment, 
    `name` varchar(50) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

2)

CREATE TABLE `virtual_users` (
    `id` int(11) NOT NULL auto_increment, 
    `domain_id` int(11) NOT NULL, 
    `password` varchar(106) NOT NULL, 
    `email` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `email` (`email`), 
    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

3)

CREATE TABLE `virtual_aliases` (
    `id` int(11) NOT NULL auto_increment, 
    `domain_id` int(11) NOT NULL, 
    `source` varchar(100) NOT NULL, 
    `destination` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`), 
    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

Ben araştırdım ve arandı ve hatta #ansible sormak ve yukarıdaki görevi tamamlamak için mysql_db modülünü kullanabileceğimi belirttim ama herhangi bir exa bulamıyorum Yukarıdakileri nasıl başarılabileceğine dair bir çeşit yön verecek olan miller.

Her türlü yardım büyük beğeni kazanacaktır!

cevap

8

mysql_db module ile bir MySQL dosyasını alabilirsiniz. Böylece tüm 3 tek tek başına metin dosyasına ifadeleri oluşturmak kopyalayıp böyle içe basitçe yapabilirsiniz:

Yukarıdaki örnekte bağlantılı dokümanlar sayfasından alınır Yani
- mysql_db: name=my_db state=import target=/tmp/dump.sql.bz2 

, biri de dahil olmak üzere daha fazla görev vardır nasıl kopyalamak gösteren dosya daha önce ana bilgisayara.

+0

Belirtildiği gibi çalıştı! Çok teşekkür ederim! – mvelez83