gpt4 book ai didi

mysql - 使用SaltStack创建Mysql数据库

转载 作者:行者123 更新时间:2023-11-29 04:40:27 24 4
gpt4 key购买 nike

我正在使用 SaltStack(带 vagrant)/Ubuntu 12.04。

我的目标是安装 Mysql,创建数据库和用户并授予所有权限。

这个 SLS 文件有什么问题?

mysql_setup:
debconf.set:
- name: mysql-server
- data:
'mysql-server/root_password': {'type': 'string', 'value': '{{ pillar['database']['password'] }}'}
'mysql-server/root_password_again': {'type': 'string', 'value': '{{ pillar['database']['password'] }}'}

mysql-server:
pkg:
- installed
- require:
- debconf: mysql_setup

mysql-base:
mysql_database.present:
- name: owncloud
mysql_user.present:
- name: owncloud
- password: pass
mysql_grants.present:
- database: owncloud.*
- grant: ALL PRIVILEGES
- user: owncloud

我有这个错误:

[INFO    ] All specified answers are already set
[INFO ] Completed state [mysql-server] at time 14:48:13.611204
[INFO ] Running state [mysql-server] at time 14:48:13.644547
[INFO ] Executing state pkg.installed for mysql-server
[INFO ] Package mysql-server is already installed.
[INFO ] Completed state [mysql-server] at time 14:48:13.695092
[DEBUG ] LazyLoaded mysql_database.mod_init
[INFO ] Running state [owncloud] at time 14:48:13.702359
[DEBUG ] LazyLoaded mysql_database.present
[ERROR ] State 'mysql_database.present' was not found in SLS 'mysql'

[DEBUG ] LazyLoaded mysql_user.mod_init
[INFO ] Running state [owncloud] at time 14:48:13.710744
[DEBUG ] LazyLoaded mysql_user.present
[ERROR ] State 'mysql_user.present' was not found in SLS 'mysql'

[DEBUG ] LazyLoaded mysql_grants.mod_init
[INFO ] Running state [mysql-base] at time 14:48:13.733003
[DEBUG ] LazyLoaded mysql_grants.present
[ERROR ] State 'mysql_grants.present' was not found in SLS 'mysql'

最佳答案

除了@Utah_Dave 的建议之外,您可能还需要 python-mysqldb APT 包以及 mysql pip 包,并且您需要连接信息,或者在你的 minion 配置中或提供给状态,可能像这样:

foo_db:
mysql_database.present:
- name: {{ pillar['SQL_DATABASE'] }}
- connection_host: {{ pillar['SQL_HOST'] }}
- connection_user: {{ pillar['SQL_ROOT_USER'] }}
- connection_pass: {{ pillar['SQL_ROOT_PASSWORD'] }}
- require:
- pip: mysql

future 状态可以通过use:重用连接信息,如下所示:

sql_app_user:
mysql_user.present:
- name: {{ pillar['SQL_APP_USER'] }}
- password: {{ pillar['SQL_APP_PASSWORD'] }}
- host: '%'
- use:
- mysql_database: foo_db

这是为 salt.modules.mysql 记录的.要安装其他依赖项:

server_pkgs:
pkg:
- installed
- pkgs:
- python-dev
- refresh: True

mysql_python_pkgs:
pkg.installed:
- pkgs:
- libmysqlclient-dev
- mysql-client
- python-mysqldb
- require:
- pkg: server_pkgs

python-pip:
pkg:
- installed
- refresh: False

mysql:
pip.installed:
- require:
- pkg: python-pip
- pkg: mysql_python_pkgs

这是我自己针对特定项目的状态的简化版本,因此它可能不是您需要的最少的东西,但它绝对有效。

关于mysql - 使用SaltStack创建Mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306693/

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