Vagrant Ansible CentOS 7 如何安装 MySQL 5.7 并更改默认密码
Vagrant Ansible CentOS 7 How to install MySQL 5.7 and change default password
我在 CentOS 7 上使用 Vagrant 和 Ansble。
我正在尝试安装 MySQL 5.7,但在尝试更新 MySQL 密码时遇到问题。
- name: Install MySQL 5.7 repo
yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm state=present
- name: Install MySQL 5.7
yum: pkg={{ item }}
with_items:
- mysql-community-server
- MySQL-python
- name: Start the MySQL service
service: name=mysqld state=started enabled=true
- name: update mysql root passwd
mysql_user: name=root
host={{ item }}
password='PassW0rd'
check_implicit_admin=yes
login_user=root
login_password=''
state=present
with_items:
- 127.0.0.1
- ::1
- localhost
我研究发现 MySQL 5.7 自动生成默认密码,所以我的脚本失败了。谁能帮我解决这个问题?
---
tasks:
- name: Install MySQL 5.7 repo
yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm state=present
- name: Install MySQL 5.7
yum: pkg={{ item }}
with_items:
- mysql-community-server
- mysql-community-client
- MySQL-python
- name: Start the MySQL service
service: name=mysqld state=started enabled=true
- name: Change mysql root password and keep track in
shell: |
password_match=`awk '/A temporary password is generated for/ {a=[=10=]} END{ print a }' /var/log/mysqld.log | awk '{print $(NF)}'`
echo $password_match
mysql -uroot -p$password_match --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'PassW0rd'; flush privileges; "
echo "[client]"
user=root
password=PassW0rd > /root/.my.cnf
args:
creates: /root/.my.cnf
register: change_temp_pass
notify: restart mysqld
- meta: flush_handlers
- debug:
var: change_temp_pass
handlers:
- name: restart mysqld
service:
name: mysqld
state: restarted
我在 CentOS 7 上使用 Vagrant 和 Ansble。 我正在尝试安装 MySQL 5.7,但在尝试更新 MySQL 密码时遇到问题。
- name: Install MySQL 5.7 repo
yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm state=present
- name: Install MySQL 5.7
yum: pkg={{ item }}
with_items:
- mysql-community-server
- MySQL-python
- name: Start the MySQL service
service: name=mysqld state=started enabled=true
- name: update mysql root passwd
mysql_user: name=root
host={{ item }}
password='PassW0rd'
check_implicit_admin=yes
login_user=root
login_password=''
state=present
with_items:
- 127.0.0.1
- ::1
- localhost
我研究发现 MySQL 5.7 自动生成默认密码,所以我的脚本失败了。谁能帮我解决这个问题?
---
tasks:
- name: Install MySQL 5.7 repo
yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm state=present
- name: Install MySQL 5.7
yum: pkg={{ item }}
with_items:
- mysql-community-server
- mysql-community-client
- MySQL-python
- name: Start the MySQL service
service: name=mysqld state=started enabled=true
- name: Change mysql root password and keep track in
shell: |
password_match=`awk '/A temporary password is generated for/ {a=[=10=]} END{ print a }' /var/log/mysqld.log | awk '{print $(NF)}'`
echo $password_match
mysql -uroot -p$password_match --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'PassW0rd'; flush privileges; "
echo "[client]"
user=root
password=PassW0rd > /root/.my.cnf
args:
creates: /root/.my.cnf
register: change_temp_pass
notify: restart mysqld
- meta: flush_handlers
- debug:
var: change_temp_pass
handlers:
- name: restart mysqld
service:
name: mysqld
state: restarted