应该有一些不错的方法来使用ansible处理mysql数据库,例如将数据插入表中或在mysql db上运行的任何命令。
我知道有一些模块可以创建数据库,管理复制,用户和变量:
mysql_db
-从远程主机添加或删除MySQL数据库。mysql_replication
(E)-管理MySQL复制mysql_user
-在MySQL数据库中添加或删除用户。mysql_variables
-管理MySQL全局变量我的用例场景是,我已经mysql-server
在ubuntu上安装并成功创建了数据库,现在我必须将数据插入表中,并且想知道是否有办法通过ansible实现它。
解决方案1:
我认为您错过了mysql_db
模块的导入功能。您可以使用import
作为参数的状态加载模式和数据,并为其提供文件以加载target
Ansible文档中的示例:
# Copy database dump file to remote host and restore it to database 'my_db'
- copy: src=dump.sql.bz2 dest=/tmp
- mysql_db: name=my_db state=import target=/tmp/dump.sql.bz2
解决方案2:
如果mysql_db没有提供您所需的所有选项和灵活性,您可以将mysql
程序与结合使用shell
。
- name: Import DB
shell: mysql db_name < dump.sql
以上将dump.sql
文件加载到数据库中db_name
。有关mysql
更多选项,请参见程序手册:man mysql
解决方案3:
mysqlimport
实用程序与command
模块:
- name: Import DB
command: mysqlimport [options] db_name textfile1 [textfile2 ...]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句