Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sách hướng dẫn cài đặt MySQL Ansible Idempotent

Tôi đã đăng về điều này trên coderwall , nhưng tôi sẽ tái tạo sự cải thiện của dennisjac trong các nhận xét của bài đăng gốc của tôi.

Mẹo để làm điều đó một cách lý tưởng là biết rằng mô-đun mysql_user sẽ tải một tệp ~ / .my.cnf nếu nó tìm thấy một tệp.

Trước tiên, tôi thay đổi mật khẩu, sau đó sao chép tệp .my.cnf với thông tin đăng nhập mật khẩu. Khi bạn cố gắng chạy nó lần thứ hai, mô-đun myqsl_user ansible sẽ tìm thấy .my.cnf và sử dụng mật khẩu mới.

- hosts: staging_mysql
  user: ec2-user
  sudo: yes

  tasks:
    - name: Install MySQL
      action: yum name={{ item }}
      with_items:
        - MySQL-python
        - mysql
        - mysql-server

    - name: Start the MySQL service
      action: service name=mysqld state=started

    # 'localhost' needs to be the last item for idempotency, see
    # http://ansible.cc/docs/modules.html#mysql-user
    - name: update mysql root password for all root accounts
      mysql_user: name=root host={{ item }} password={{ mysql_root_password }} priv=*.*:ALL,GRANT
      with_items:
        - "{{ ansible_hostname }}"
        - 127.0.0.1
        - ::1
        - localhost

    - name: copy .my.cnf file with root password credentials
      template: src=templates/root/.my.cnf dest=/root/.my.cnf owner=root mode=0600

Mẫu .my.cnf trông giống như sau:

[client]
user=root
password={{ mysql_root_password }}

Chỉnh sửa:Đã thêm các đặc quyền theo đề xuất của Dhananjay Nene trong các nhận xét và thay đổi phép nội suy biến để sử dụng dấu ngoặc nhọn thay vì ký hiệu đô la .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL cha con một lựa chọn truy vấn

  2. Left Outer Join không trả về tất cả các hàng từ bảng bên trái của tôi?

  3. Nhiều truy vấn được thực thi trong java trong một câu lệnh

  4. Điền lựa chọn thả xuống từ bảng cơ sở dữ liệu

  5. Thay đổi bộ ký tự mặc định của MySQL thành UTF-8 trong my.cnf?