gpt4 book ai didi

mysql - 使用ansible向mysql表中插入数据

转载 作者:IT王子 更新时间:2023-10-29 00:38:12 25 4
gpt4 key购买 nike

应该有一些不错的方法来使用 ansible 来处理 mysql 数据库,例如将数据插入表或在 mysql db 上运行的任何命令。

我知道有一些模块可以创建数据库、管理复制、用户和变量:

  • mysql_db - 从远程主机添加或删除 MySQL 数据库。
  • mysql_replication (E) - 管理 MySQL 复制
  • mysql_user - 在 MySQL 数据库中添加或删除用户。
  • mysql_variables - 管理 MySQL 全局变量

我的用例场景是,我在 ubuntu 上安装了 mysql-server 并成功创建了数据库,现在我必须将数据插入表中,想知道是否有办法实现它通过 ansible。

最佳答案

解决方案一:

我认为您错过了 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 没有提供您需要的所有选项和灵 active ,您可以将 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 ...]

见:mysqlimport docs

关于mysql - 使用ansible向mysql表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com