Websoft9Archive / role_mysql

Automatic MySQL installation
https://support.websoft9.com/docs/mysql
Other
0 stars 2 forks source link

tests/test.yml can select MySQL version #10

Closed chendelin1982 closed 3 years ago

chendelin1982 commented 3 years ago
  1. MySQL selection
  2. Input and Output default password

Below is code for your reference, this code is running successfully

---
- hosts: localhost
  remote_user: root
  roles:
    - role_mysql

  vars_prompt:
    - name: 'mysql_selection'
      prompt: "\nPlease choose the number for MySQL version [ 1/2/3/4...] \n\n
      1: MySQL 5.5\n
      2: MySQL 5.6\n
      3: MySQL 5.7\n
      4: MySQL 8.0\n"
      private: no
      default: 3

    - name: 'mysql_input_password'
      prompt: "\nPlease your MySQL root password: \n\nn"
      private: no
      default: 123456

  vars:
    mysql_select:
      '1': "5.5"
      '2': "5.6"
      '3': "5.7"
      '4': "8.0"
    mysql_version: "{{mysql_select[mysql_selection]}}"

  pre_tasks:
   - debug:
       msg: Will install MySQL {{mysql_version}}

  post_tasks:
    - name: pre_post
      debug:
        msg: MySQL default password is {{mysql_root_password}} , please modify it by yourself
qiaofeng1227 commented 3 years ago
Please choose the number for MySQL version [ 1/2/3/4...] 

 1: MySQL 5.5
 2: MySQL 5.6
 3: MySQL 5.7
 4: MySQL 8.0
 [3]: 4

Please your MySQL root password: 

default [123456]: xuwei123

PLAY [localhost] ************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ****************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "Will install MySQL 8.0"
}

TASK [role_mysql : Install PyMySQL for Ansible MySQL Module] ****************************************************************************************************************************************************************************
ok: [localhost]

TASK [role_mysql : Check mysql version support of OS] ***********************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : include] *************************************************************************************************************************************************************************************************************
included: /root/role_mysql/tasks/RedHat.yml for localhost

TASK [role_mysql : Import MySQL Repo] ***************************************************************************************************************************************************************************************************
changed: [localhost] => (item={u'dest': u'/etc/yum.repos.d/mysql-community.repo', u'src': u'mysql-community.repo.jinja2'})
changed: [localhost] => (item={u'dest': u'/etc/pki/rpm-gpg/', u'src': u'RPM-GPG-KEY-mysql'})

TASK [role_mysql : Import MySQL Repo] ***************************************************************************************************************************************************************************************************
skipping: [localhost] => (item={u'dest': u'/etc/yum.repos.d/mysql-community.repo', u'src': u'mysql-community-aws.repo.jinja2'}) 
skipping: [localhost] => (item={u'dest': u'/etc/pki/rpm-gpg/', u'src': u'RPM-GPG-KEY-mysql'}) 

TASK [role_mysql : Install MySQL Client] ************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Install MySQL8.0] ****************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Copy MySQL8.0 Configuration] *****************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Restart MySQL8.0] ****************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Clean MySQL Password] ************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Disable  validate password plugin] ***********************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Disable  validate password plugin] ***********************************************************************************************************************************************************************************
changed: [localhost] => (item={u'regexp': u'#validate_password.check_user_name=OFF', u'line': u'validate_password.check_user_name=OFF'})
changed: [localhost] => (item={u'regexp': u'#validate_password.length=4', u'line': u'validate_password.length=4'})
changed: [localhost] => (item={u'regexp': u'#validate_password.mixed_case_count=0', u'line': u'validate_password.mixed_case_count=0'})
changed: [localhost] => (item={u'regexp': u'#validate_password.number_count=0', u'line': u'validate_password.number_count=0'})
changed: [localhost] => (item={u'regexp': u'#validate_password.policy=0', u'line': u'validate_password.policy=0'})
changed: [localhost] => (item={u'regexp': u'#validate_password.special_char_count=0', u'line': u'validate_password.special_char_count=0'})

TASK [role_mysql : Restart MySQL8.0 Service] ********************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Setting MySQL Password] **********************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Removes all anyelse user accounts] ***********************************************************************************************************************************************************************************
[WARNING]: Module did not set no_log for update_password
ok: [localhost]

TASK [role_mysql : Remove hostname user accounts] ***************************************************************************************************************************************************************************************
ok: [localhost]

TASK [role_mysql : Removes test Databases] **********************************************************************************************************************************************************************************************
ok: [localhost]

TASK [role_mysql : Removing privileges on test database] ********************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : FLUSH PRIVILEGES] ****************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Link MySQL service] **************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Create a MySQL  symbolic link] ***************************************************************************************************************************************************************************************
changed: [localhost] => (item={u'dest': u'/data/config/my.cnf', u'src': u'/etc/my.cnf'})
changed: [localhost] => (item={u'dest': u'/data/logs/mysqld.log', u'src': u'/var/log/mysqld.log'})
changed: [localhost] => (item={u'dest': u'/data/mysql', u'src': u'/var/lib/mysql'})

TASK [role_mysql : set_fact] ************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : debug] ***************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Copy the script that gets the MySQL port] ****************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Get mysql port] ******************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : debug] ***************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : set_fact] ************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Create mysql directory] **********************************************************************************************************************************************************************************************
skipping: [localhost] => (item=/data/db/mysql8.0) 

TASK [role_mysql : Get mysql configure file] ********************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Copy docker-compose file] ********************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Install Container version of MySQL] **********************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Get the MySQL Container IP] ******************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : debug] ***************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Create MySQL extra databases] ****************************************************************************************************************************************************************************************

TASK [role_mysql : Create extra Databases User] *****************************************************************************************************************************************************************************************

TASK [role_mysql : Stop MySQL] **********************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : MySQL5.5 need delelte ib_logfile] ************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Change MySQL configuration default] **********************************************************************************************************************************************************************************
changed: [localhost] => (item={u'name': u'innodb_buffer_pool_size', u'value': u'2G'})
changed: [localhost] => (item={u'name': u'innodb_log_file_size', u'value': u'500M'})

TASK [role_mysql : Change MySQL configuration extras] ***********************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Restart MySQL] *******************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Get MySQL version] ***************************************************************************************************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
changed: [localhost]

TASK [role_mysql : Check MySQL Service] *************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Check mysqld existed] ************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Get mysql service unit path] *****************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Add alias mysqld for mysql service] **********************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Change MySQL Server Bind Address] ************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Restarted MySQL] *****************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Create Remote User] **************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [role_mysql : Drop localhost User] *************************************************************************************************************************************************************************************************
ok: [localhost] => (item=127.0.0.1)
ok: [localhost] => (item=::1)
changed: [localhost] => (item=localhost)

TASK [role_mysql : Restart MySQL container] *********************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [role_mysql : Check MySQL version] *************************************************************************************************************************************************************************************************
skipping: [localhost]

RUNNING HANDLER [role_mysql : check_mysql_service] **************************************************************************************************************************************************************************************
ok: [localhost] => {
    "check_mysql_service.stdout": "   Active: active (running) since Wed 2021-07-21 16:07:15 CST; 572ms ago"
}

TASK [pre_post] *************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "MySQL default password is xuwei123 , please modify it by yourself"
}

PLAY RECAP ******************************************************************************************************************************************************************************************************************************
localhost                  : ok=31   changed=22   unreachable=0    failed=0    skipped=24   rescued=0    ignored=0   
qiaofeng1227 commented 3 years ago

Done