最近在搞mariadb的高可用安装, 直接使用的官方ansible, 坑太多了, 现在记录下来

官方脚本下载: ansible-galaxy install geerlingguy.mysql

需要修改的地方:

  1. roles/tasks/main.yml

     
  2. roles/tasks/configure.yml: 如果要自定义一些目录的话, 需要创建目录并修改文件夹权限
  3. roles/tasks/database.yml: 注意修改默认字符集
  4. roles/tasks/variables.yml:

     
  5. roles/tasks/secure-installation.yml: 此文件坑较多, 若用官方的, 会出现没有mysql.user库的报错, 因为存在匿名帐户, 直接用mysql -uroot -p登录的话, 会看到没有默认的mysql库, 但是其实已经有库了, 只是登录时如果不写-h的话, 默认就直接解析到通过hostname了, 在my.cnf里添加skip-name-resolve,可以不通过DNS解析.  所以只能通过mysql -hlocalhost -uroot -p方式都能正确地进入到库, 所以更改如下:  [ mysql -NBe 改为: mysql -NB -h localhost -e ]
  6. roles/tasks/replication.yml, 此处注意, 官方脚本没有复制端口, 需要加上master_port, 以防不是默认3306端口:

     
  7. roles/tasks/uninstall.yml(新增):

     
  8. roles/tasks/
  9. vars/RedHat-7.yml:

     
  10. templates/my.cnf.j2:

     
  11. defaults/main.yml

     
  12. 最后, playbook文件:

    hosts.ini里需要如下定义:

     
Categories: 未分类

1 Comment

Bill Dabear · 06/11/2020 at 3:57 PM

I just found out it comes out tomorrow

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *