# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - name: Install PyMySQL package via pip pip: name: PyMySQL state: present - name: Install MySQL repo yum: name: '{{ repo_link }}' notify: cleanup mysql8 # These packages come from AppStream in RHEL 8, so they need to be done in a separate task - name: Install MySQL support packages yum: name: "{{ mysql_support_packages }}" notify: cleanup mysql8 - name: Install MySQL community server yum: name: '{{ mysql_server_packages }}' disablerepo: '{{ mysql_disablerepo | default(omit) }}' notify: cleanup mysql8 - name: Copy my.cnf copy: src: my.cnf dest: '{{ my_cnf }}' - name: Start MySQL service: name: mysqld state: started ### Debug ####################### #- name: Debug # shell: cat /var/log/mysqld.log ################################# - name: Check connection to the server shell: 'echo "SHOW DATABASES;" | mysql' - name: Check connection to the server shell: "echo \"SHOW VARIABLES LIKE '%version%';\" | mysql" - name: Detect socket path shell: 'echo "show variables like ''socket''\G" | mysql | grep ''Value: '' | sed ''s/[ ]\+Value: //''' register: _socket_path - name: Set socket path set_fact: mysql_socket: '{{ _socket_path["stdout"] }}' - name: Set root pass set_fact: root_pass: "dlsafjlkjdsaK1#" - name: Set root password shell: 'echo "flush privileges; ALTER USER ''root''@''localhost'' IDENTIFIED WITH mysql_native_password BY ''{{ root_pass }}'';" | mysql' - name: Change configuration lineinfile: path: '{{ my_cnf }}' line: skip-grant-tables state: absent - name: Restart MySQL service: name: mysqld state: restarted