/
Creating and Updating Databases and Database Users
Creating and Updating Databases and Database Users
This article provides an example of how database and database users can be managed via the edX configuration repository
Step-by-step guide
- This guide assumes that you have cloned the edX configuration repository and installed the python requirements.
Change to the configuration/playbooks directory.
Create a database configuration file named, say db-config.yml, with the following structure. You will need to customize this for your own purposes including adding strong passwords. This also assumes that you already have a root account on the MySQL instance you will be using.
--- database_connection: &default_connection login_host: "localhost" login_user: "root" login_password: "secret" DEFAULT_ENCODING: "utf8" databases: edxapp: state: "present" encoding: "{{ DEFAULT_ENCODING }}" <<: *default_connection dashboard: state: "present" encoding: "{{ DEFAULT_ENCODING }}" <<: *default_connection database_users: migrate: state: "present" password: "migrate_secret" host: "%" privileges: - "edxapp%.*:SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE,DROP,INDEX" - "dashboard%.*:SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE,DROP,INDEX" <<: *default_connection dash: state: "present" password: "dash_secret" host: "%" privileges: - "dashboard.*:SELECT,INSERT,UPDATE,DELETE" <<: *default_connection
Run ansible as follows
ansible-playbook -i 'localhost,' create_db_and_users.yml -e@/path/to/db-config.yml --ask-sudo-pass
Related articles
Filter by label
There are no items with the selected labels at this time.