ansible 安装 mysql 案例记录
本次案例参考 二进制安装mysql
以下 yml
文件仍有很多不完善的地方,后续再继续修改
---
- hosts: dbserver
remote_user: root
gather_facts: no
tasks:
- name: uninsert mariadb
shell: rpm -e --nodeps $(rpm -qa | grep mariadb)
- name: install packages
yum: name=libaio
- name: create group mysql
group: name=mysql gid=306
- name: create user mysql
user: name=mysql uid=306 group=mysql shell=/sbin/nologin system=yes
- name: copy tar to remote host and file mode
unarchive: src=/root/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz dest=/usr/local/ owner=root group=root
- name: create linkfile /usr/local/mysql
file: src=/usr/local/mysql-5.7.38-linux-glibc2.12-x86_64 dest=/usr/local/mysql state=link
- name: mysql path
shell: echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile;source /etc/profile
- name: mkdir file
file: path=/usr/local/mysql/mysql_file owner=mysql group=mysql mode=0755 state=directory
- name: init mysql
shell: /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --log_error=/usr/local/mysql/mysql-file/mysql.log
- name: copy mysql.server to /etc/init.d
copy: src=/usr/local/mysql/support-files/mysql.server dest=/etc/init.d/mysql remote_src=yes
- name: copy my.cnf
copy: src=/root/my.cnf dest=/etc
- name: start mysql
service: name=mysql state=started
- name: change password # 这里修改密码会提示 mysqladmin 命令找不到,不知道是为什么
shell: mysqladmin -uroot password Abcd@1234