mve*_*z83 10 mysql sql database ansible
我正在使用ansible来管理使用ubuntu的小型邮件服务器.我想使用ansible创建一个我可以做的数据库,并为数据库创建用户,我也可以这样做.但我不确定如何使用ansible创建表.我正在尝试使用ansible创建以下三个MySQL表:
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;
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
我已搜索并搜索,甚至在#ansible中询问并声明我可以使用mysql_db模块来完成上述任务但我找不到任何可以给我一些关于如何在ansible中实现上述方向的示例.
任何和所有的帮助将非常感谢!
udo*_*dan 10
使用该mysql_db模块,您可以导入MySQL文件.因此,您只需将所有3个create语句复制到一个单独的文本文件中,然后将其导入:
- mysql_db: name=my_db state=import target=/tmp/dump.sql.bz2
Run Code Online (Sandbox Code Playgroud)
该示例取自上面链接的文档页面,还有更多任务,包括一个向您展示如何将文件复制到主机之前的任务.
| 归档时间: |
|
| 查看次数: |
5958 次 |
| 最近记录: |