2
0
mirror of https://github.com/frappe/bench.git synced 2025-01-24 07:28:25 +00:00

Merge pull request #671 from codingCoffee/mariadb

mariadb fixes
This commit is contained in:
Ameya Shenoy 2018-06-09 15:33:13 +05:30 committed by GitHub
commit 452ed1d4e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 60 additions and 62 deletions

View File

@ -7,6 +7,8 @@ Installs MariaDB
```
CentOS 6 & 7
Ubuntu 14.04
Ubuntu 16.04
Debain 9
```
## Post install
@ -22,7 +24,7 @@ None
MariaDB version:
```
mariadb_version: 10.0
mariadb_version: 10.2
```
Configuration template:
@ -52,13 +54,10 @@ None
```
- hosts: servers
roles:
- { role: pcextreme.mariadb }
- { role: mariadb }
```
## License
## Credits
MIT / BSD
- [Attila van der Velde](https://github.com/vdvm)
## Author Information
Created by [Attila van der Velde](https://github.com/vdvm)

View File

@ -5,4 +5,3 @@ mysql_conf_tpl: change_me
mysql_conf_file: settings.cnf
mysql_secure_installation: false
...

View File

@ -1,4 +1,3 @@
---
- name: restart mysql
service: name=mysql state=restarted
...

View File

@ -6,5 +6,8 @@
yum: name={{ item }} enablerepo=mariadb state=present
with_items:
- MariaDB-server
- MySQL-python # required for secure_install
...
- MariaDB-client
- name: Install MySQLdb Python package for secure installations.
yum: name=MySQL-python state=present
when: mysql_secure_installation and mysql_root_password is defined

View File

@ -1,10 +1,12 @@
---
- include: centos.yml
when: ansible_distribution == 'CentOS' and ansible_distribution_major_version|int >= 6
- include_tasks: centos.yml
when: ansible_distribution == 'CentOS'
- include: ubuntu-trusty.yml
when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '14.04'
- include_tasks: ubuntu.yml
when: ansible_distribution == 'Ubuntu'
- include: ubuntu-xenial.yml
when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '16.04'
- name: Add configuration
template: src={{ mysql_conf_tpl }} dest={{ mysql_conf_dir[ansible_distribution] }}/{{ mysql_conf_file }} owner=root group=root mode=0644

View File

@ -1,33 +1,22 @@
---
# Set root password
# UPDATE mysql.user SET Password=PASSWORD('mysecret') WHERE User='root';
# FLUSH PRIVILEGES;
- debug:
msg: "{{ mysql_root_password }}"
- name: Set root Password
mysql_user: name=root host={{ item }} password={{ mysql_root_password }} state=present
with_items:
- localhost
ignore_errors: yes
# create root .my.cnf config file
- name: Add .my.cnf
template: src=my.cnf.j2 dest=/root/.my.cnf owner=root group=root mode=0600
- name: display .my.cnf
command: cat /root/.my.cnf
register: details
- debug:
msg: "{{ details.stdout_lines }}"
# Set root password
# UPDATE mysql.user SET Password=PASSWORD('mysecret') WHERE User='root';
# FLUSH PRIVILEGES;
- name: Set root Password
mysql_user: name=root host={{ item }} password={{ mysql_root_password }} state=present
mysql_user: login_password={{ mysql_root_password }} check_implicit_admin=yes name=root host={{ item }} password={{ mysql_root_password }} state=present
with_items:
- localhost
- 127.0.0.1
- ::1
when: run_travis is not defined
- name: Reload privilege tables
command: 'mysql -ne "{{ item }}"'
@ -53,7 +42,7 @@
- name: Remove test database and access to it
command: 'mysql -ne "{{ item }}"'
with_items:
- DROP DATABASE if exists test
- DROP DATABASE IF EXISTS test
- DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
changed_when: False
when: run_travis is not defined
@ -64,20 +53,3 @@
- FLUSH PRIVILEGES
changed_when: False
when: run_travis is not defined
- name: add launchagents folder mac
file: path=~/Library/LaunchAgents state=directory
when: ansible_distribution == 'MacOSX'
- name: add mysql to mac startup
file: src=/usr/local/opt/mariadb/homebrew.mxcl.mariadb.plist path=~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist state=link force=yes
when: ansible_distribution == 'MacOSX'
- name: stop mysql mac
command: launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
when: ansible_distribution == 'MacOSX'
- name: start mysql mac
command: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
when: ansible_distribution == 'MacOSX'
...

View File

@ -6,12 +6,6 @@
- name: Add repo key
apt_key: id=1BB943DB url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xCBCB082A1BB943DB state=present
register: mariadb_key
when: ansible_distribution_version | version_compare('16.04', 'lt')
- name: Add apt key for mariadb for Ubuntu >= 16.04
apt_key: id=C74CD1D8 url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF1656F24C74CD1D8 state=present
register: mariadb_key
when: ansible_distribution_version | version_compare('16.04', 'ge')
- name: Update apt cache
apt: update_cache=yes
@ -25,5 +19,9 @@
apt: pkg={{ item }} state=present
with_items:
- mariadb-server
- python-mysqldb # required to set the MySQL password using ansible
...
- mariadb-client
- libmariadbclient18
- name: Install MySQLdb Python package for secure installations.
apt: pkg=python-mysqldb state=present
when: mysql_secure_installation and mysql_root_password is defined

View File

@ -0,0 +1,27 @@
---
- name: Add repo file
template: src=mariadb_ubuntu.list.j2 dest=/etc/apt/sources.list.d/mariadb.list owner=root group=root mode=0644
register: mariadb_list
- name: Add repo key
apt_key: id=C74CD1D8 url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF1656F24C74CD1D8 state=present
register: mariadb_key
- name: Update apt cache
apt: update_cache=yes
when: mariadb_list.changed == True or mariadb_key.changed == True
- name: Unattended package installation
shell: export DEBIAN_FRONTEND=noninteractive
changed_when: false
- name: Install MariaDB
apt: pkg={{ item }} state=present
with_items:
- mariadb-server
- mariadb-client
- libmariadbclient18
- name: Install MySQLdb Python package for secure installations.
apt: pkg=python-mysqldb state=present
when: mysql_secure_installation and mysql_root_password is defined

View File

@ -1,4 +1,4 @@
# MariaDB {{ mariadb_version }} CentOS {{ ansible_distribution_major_version|int }} repository list
# MariaDB CentOS {{ ansible_distribution_major_version|int }} repository list
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB

View File

@ -1,4 +1,4 @@
# MariaDB {{ mariadb_version }} Ubuntu {{ ansible_distribution_release | title }} repository list
# MariaDB Ubuntu {{ ansible_distribution_release | title }} repository list
# http://mariadb.org/mariadb/repositories/
deb http://ams2.mirrors.digitalocean.com/mariadb/repo/{{ mariadb_version }}/ubuntu {{ ansible_distribution_release | lower }} main
deb-src http://ams2.mirrors.digitalocean.com/mariadb/repo/{{ mariadb_version }}/ubuntu {{ ansible_distribution_release | lower }} main

View File

@ -3,7 +3,6 @@ mysql_conf_dir:
"CentOS": /etc/my.cnf.d
"Ubuntu": /etc/mysql/conf.d
"Debian": /etc/mysql/conf.d
"MacOSX": /usr/local/etc/my.cnf.d
mysql_conf_tpl: files/mariadb_config.cnf
mysql_secure_installation: True
...
...